Proposals:Refactoring Statistics Framework 2007 New Statistics Framework: Difference between revisions
From KitwarePublic
Jump to navigationJump to search
(16 intermediate revisions by the same user not shown) | |||
Line 20: | Line 20: | ||
= List of Classes per Category = | = List of Classes per Category = | ||
=== Traits === | |||
| |||
* MeasurementVectorTraits | |||
=== Data Objects === | === Data Objects === | ||
Line 41: | Line 46: | ||
* SampleClassifierFilter | * SampleClassifierFilter | ||
* NeighborhoodSubsampler | * NeighborhoodSubsampler | ||
=== Classifiers (Suggested Design) === | |||
==== Elements ==== | |||
* MembershipFunctionBase | |||
** DistanceToCentroidMembershipFunction (plugs in a DistanceMetric) | |||
* DistanceMetrics | |||
** Euclidean | |||
** Mahalanobis | |||
** 1_1 | |||
==== Filters ==== | |||
* Sample, Array of Membership Functions --> MembershipSample(sample,labels) == SampleClassifierFilter | |||
* Sample, Array of Membership Functions --> GoodnessOfFitComponent (sample,weights) == SampleGoodnessOfFitFilter | |||
= Class Diagrams = | = Class Diagrams = | ||
== Traits == | |||
<graphviz> | |||
digraph G { | |||
MeasurementVectorTraits [ shape=box URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1MeasurementVectorTraits.html"]; | |||
} | |||
</graphviz> | |||
== Data Objects == | == Data Objects == | ||
Line 89: | Line 118: | ||
} | } | ||
</graphviz> | </graphviz> | ||
== Classifiers (Suggested Design) == | |||
<graphviz> | |||
digraph G { | |||
Object [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Object.html"]; | |||
FunctionBase [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1FunctionBase.html"]; | |||
MembershipFunctionBase [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1MembershipFunctionBase.html"]; | |||
DistanceToCentroidMembershipFunction [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1DistanceToCentroidMembershipFunction.html"]; | |||
DistanceMetric [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1DistanceMetric.html"]; | |||
EuclideanDistanceMetric [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1EuclideanDistanceMetric.html"]; | |||
MahalanobisDistanceMetric [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1MahalanobisDistanceMetric.html"]; | |||
Object -> FunctionBase | |||
FunctionBase -> MembershipFunctionBase | |||
FunctionBase -> DistanceMetric | |||
DistanceMetric -> MahalanobisDistanceMetric | |||
DistanceMetric -> EuclideanDistanceMetric | |||
DistanceMetric -> EuclideanSquaredDistanceMetric | |||
DistanceMetric -> ManhattanDistanceMetric | |||
MembershipFunctionBase -> DistanceToCentroidMembershipFunction | |||
} | |||
</graphviz> | |||
=== Distance notation === | |||
* Manhattan (L1) = sum of absolute values | |||
* Euclidean = square root of ( sum of squares ) | |||
* Euclidean Squared (L2) = sum of squares | |||
* Mahalanobis = square root of ( V . M . VT ) | |||
=== API === | |||
* DistanceToCentroidMembershipFunction | |||
** SetDistanceMetric( const DistanceMetric * ) (new) | |||
** const GetDistanceMetric() (new) | |||
** Evaluate( Measurement vector ) (already there) | |||
** SetCentroid( ) (already there) |
Latest revision as of 20:57, 17 July 2008
Class Manifesto of New Statistics Framework
Summary Table
The classes that integrate the new statistics framework are categorized in the following table
Conceptual Class | Number |
---|---|
Traits | 1 |
Data Objects | 4 |
Filters | 11 |
Total | 16 |
List of Classes per Category
Traits
- MeasurementVectorTraits
Data Objects
- Sample
- ListSample
- Histogram
- Subsample
Filters
- SampleToHistogramFilter
- MeanFilter
- WeightedMeanFilter
- CovarianceFilter
- WeightedCovarianceFilter
- HistogramToTextureFeaturesFilter
- ImageToListSampleFilter
- ScalarImageToCooccurrenceMatrixFilter
- SampleToSubsampleFilter
- SampleClassifierFilter
- NeighborhoodSubsampler
Classifiers (Suggested Design)
Elements
- MembershipFunctionBase
- DistanceToCentroidMembershipFunction (plugs in a DistanceMetric)
- DistanceMetrics
- Euclidean
- Mahalanobis
- 1_1
Filters
- Sample, Array of Membership Functions --> MembershipSample(sample,labels) == SampleClassifierFilter
- Sample, Array of Membership Functions --> GoodnessOfFitComponent (sample,weights) == SampleGoodnessOfFitFilter
Class Diagrams
Traits
Data Objects
Filters
Classifiers (Suggested Design)
Distance notation
- Manhattan (L1) = sum of absolute values
- Euclidean = square root of ( sum of squares )
- Euclidean Squared (L2) = sum of squares
- Mahalanobis = square root of ( V . M . VT )
API
- DistanceToCentroidMembershipFunction
- SetDistanceMetric( const DistanceMetric * ) (new)
- const GetDistanceMetric() (new)
- Evaluate( Measurement vector ) (already there)
- SetCentroid( ) (already there)