cluster sorting, analysis and 3d-display for the mapping of the dragonfly’s neuro- network...
TRANSCRIPT
Cluster Sorting, Cluster Sorting, Analysis and 3D-Analysis and 3D-
DisplayDisplayFor the Mapping of the For the Mapping of the
Dragonfly’s Neuro-NetworkDragonfly’s Neuro-NetworkAdvisor: Prof. HannayAdvisor: Prof. Hannay
Client: Prof. Olberg (BiologyClient: Prof. Olberg (Biology))
AgendaAgenda
BackgroundBackground ProblemProblem SolutionSolution
BackgroundBackground
Learning more about DragonfliesLearning more about Dragonflies Current ProcedureCurrent Procedure
ProblemProblem
How can I How can I interpret this datainterpret this data
Current SolutionsCurrent Solutions
My SolutionMy Solution
Develop a program that sorts, Develop a program that sorts, analyses, and displays data.analyses, and displays data.
PrioritiesPriorities
Good sorting algorithmGood sorting algorithm Good graphical displaysGood graphical displays Meets requirements of clientMeets requirements of client Robustness, ModularityRobustness, Modularity Completed programCompleted program
JClusterJCluster
Written in C++Written in C++ Uses OpenGL Uses OpenGL
library for 3D library for 3D graphicsgraphics
Clustering Clustering AlgorithmAlgorithm
Why C++Why C++
Documented as still the “faster” Documented as still the “faster” language language
Allows for Object-Oriented designAllows for Object-Oriented design Works very well with OpenGL Works very well with OpenGL
graphicsgraphics
OpenGLOpenGL
Widely used graphics libraryWidely used graphics library Allows for 3-dimensional graphics Allows for 3-dimensional graphics
displaydisplay Language very similar to C++Language very similar to C++
Program DesignProgram Design
4 Main Parts: GUI, Algorithm (Back-4 Main Parts: GUI, Algorithm (Back-End), I/O, and GraphicsEnd), I/O, and Graphics
GUIGUI
Created using Created using MFC as part of MFC as part of Visual C++Visual C++
One of many One of many potential designspotential designs
AlgorithmAlgorithm
Euclidean Distances usedEuclidean Distances used Variables StandardizedVariables Standardized Admittance based on centroid Admittance based on centroid
distancedistance Variable Reduction on high-Variable Reduction on high-
dimensional graphsdimensional graphs
Back-End ProcedureBack-End Procedure
Data comes in as streams on Data comes in as streams on numbersnumbers
Converted into Peak classesConverted into Peak classes Peak variables are given valuesPeak variables are given values Peaks are sorted into clustersPeaks are sorted into clusters
GraphicsGraphics
Clusters of Peaks Clusters of Peaks are sent to are sent to graphics objectgraphics object
Clusters are color Clusters are color codedcoded
Window is 360Window is 360o o
rotation around X rotation around X and Y-axisand Y-axis
Log FileLog File
File gives text representation of dataFile gives text representation of data Identifies each cluster and the Identifies each cluster and the
number of peaksnumber of peaks Average values within clustersAverage values within clusters Factors taken into considerationFactors taken into consideration Date and TimeDate and Time
What does JCluster do for What does JCluster do for me?me?
Cluster SortingCluster Sorting Multi-Variant AnalysisMulti-Variant Analysis 3-Dimensional and Textural 3-Dimensional and Textural
representation of informationrepresentation of information
ProblemsProblems
Finding GUI Finding GUI librarylibrary
Finding right Finding right algorithmalgorithm
DesignDesign Transition to C++Transition to C++
What Have I LearnedWhat Have I Learned
More proficient at C++More proficient at C++ Greater sense of “larger”-scale Greater sense of “larger”-scale
programsprograms Better understanding of algorithmsBetter understanding of algorithms Interaction with clientInteraction with client Time Management for long-term Time Management for long-term
projectsprojects
What’s Next?What’s Next?
List of add-on’sList of add-on’s Looking for better Looking for better
GUI libraryGUI library User manual and User manual and
help pageshelp pages
Any Questions?Any Questions?