Proposals:Refactoring Statistics Framework 2007 New Statistics Framework: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
 
(12 intermediate revisions by the same user not shown)
Line 118: 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

This is a graph with borders and nodes. Maybe there is an Imagemap used so the nodes may be linking to some Pages.

Data Objects

This is a graph with borders and nodes. Maybe there is an Imagemap used so the nodes may be linking to some Pages.

Filters

This is a graph with borders and nodes. Maybe there is an Imagemap used so the nodes may be linking to some Pages.

Classifiers (Suggested Design)

This is a graph with borders and nodes. Maybe there is an Imagemap used so the nodes may be linking to some Pages.


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)