Proposals:Refactoring Statistics Framework 2007 Class Manifesto: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
 
(110 intermediate revisions by 2 users not shown)
Line 47: Line 47:
=== Measurement Containers ===
=== Measurement Containers ===


* KdTree
* KdTree <font style="color: #006400;">'''Refactored'''</font> (same name)
* Histogram
* Histogram <font style="color: #006400;">'''Refactored'''</font> (same name)
* VariableDimensionHistogram
* VariableDimensionHistogram <font style="color: #006400;">'''Refactored'''</font> (now provided as Histrogram)
* ListSampleBase
* ListSampleBase <font style="color: #8b0000;">'''Deprecated!'''</font>
* ListSample
* ListSample <font style="color: #006400;">'''Refactored'''</font> (same name)
* Sample
* Sample <font style="color: #006400;">'''Refactored'''</font> (same name) (now derives from DataObject)
* Subsample
* Subsample <font style="color: #006400;">'''Refactored'''</font> (same name)(identifiers do not refer to sample anymore)
* MembershipSample
* MembershipSample <font style="color: #006400;">'''Refactored In Progress'''</font> (same name. does not derive from sample anymore)
 
 
[[Proposals:Refactoring Statistics Framework 2007 Migration Users Guide #Measurement Containers | Migration Instructions ]]


=== Frequency Containers ===
=== Frequency Containers ===


* DenseFrequencyContainer
* DenseFrequencyContainer <font style="color: #006400;">'''Refactored '''</font> (DenseFrequencyContainer2)
* SparseFrequencyContainer
* SparseFrequencyContainer <font style="color: #006400;">'''Refactored '''</font> (SparseFrequencyContainer2)
 
Note: The names of the frequency containers were suffixed by 2 to make them different from the frequency containers in ITK CVS to avoid linking problem with the ITKStatistics library
[[Proposals:Refactoring Statistics Framework 2007 Migration Users Guide #Frequency Containers | Migration Instructions ]]


=== Process Objects ===
=== Process Objects ===


* SampleClassifier
* SampleClassifier <font style="color: #006400;">'''Refactored'''</font> (as SampleClassifierFilter )
* SampleClassifierWithMask
* SampleClassifierWithMask<font style="color: #006400;">'''Will be Refactored'''</font> (as SampleClassifierWithMaskFilter ) PENDING
 
[[Proposals:Refactoring Statistics Framework 2007 Migration Users Guide #Process Objects | Migration Instructions ]]


=== Traits ===
=== Traits ===


* MeasurementVectorTraits
* MeasurementVectorTraits <font style="color: #006400;">'''Refactored'''</font> (same name)
 
[[Proposals:Refactoring Statistics Framework 2007 Migration Users Guide #Traits | Migration Instructions ]]


=== MeanShift ===
=== MeanShift ===


* ypersphereKernelMeanShiftModeSeeker
* HypersphereKernelMeanShiftModeSeeker PENDING
* MeanShiftModeCacheMethod
* MeanShiftModeCacheMethod PENDING
* MeanShiftModeSeekerBase
* MeanShiftModeSeekerBase PENDING
 
[[Proposals:Refactoring Statistics Framework 2007 Migration Users Guide #MeanShift | Migration Instructions ]]


=== Adaptors ===
=== Adaptors ===


* ImageToCooccurrenceListAdaptor
* ImageToCooccurrenceListAdaptor <font style="color: #006400;">'''Refactored '''</font>  ( now ScalarImageToCoocurrenceListSampleFilter )
* ImageToListAdaptor
* ImageToListAdaptor <font style="color: #006400;">'''Refactored '''</font>  ( now ImageToListSampleAdaptor )
* JointDomainImageToListAdaptor
* JointDomainImageToListAdaptor <font style="color: #006400;">'''Refactored '''</font>  ( now JointDomainImageToListSampleAdaptor )
* PointSetToListAdaptor
* PointSetToListAdaptor <font style="color: #006400;">'''Refactored  '''</font>  ( now PointSetToListSampleAdaptor )
* ScalarImageToListAdaptor
* ScalarImageToListAdaptor <font style="color: #8b0000;">'''Deprecated!'''</font>
 
[[Proposals:Refactoring Statistics Framework 2007 Migration Users Guide #Adaptors | Migration Instructions ]]


=== Univariate Distributions ===
=== Univariate Distributions ===


* ChiSquareDistribution
* ChiSquareDistribution COPIED
* GaussianDistribution
* GaussianDistribution COPIED
* ProbabilityDistribution
* ProbabilityDistribution COPIED
* TDistribution
* TDistribution COPIED
 
[[Proposals:Refactoring Statistics Framework 2007 Migration Users Guide #Univariate Distributions | Migration Instructions ]]


=== Algorithms ===
=== Algorithms ===


* SampleAlgorithmBase
* SampleAlgorithmBase <font style="color: #8b0000;">'''Deprecated!'''</font>
* StatisticsAlgorithm
* StatisticsAlgorithm COPIED
* NeighborhoodSampler
* NeighborhoodSampler Refactored (must be renamed as NeighborhoodExtractionSampleFilter?)
 
[[Proposals:Refactoring Statistics Framework 2007 Migration Users Guide #Algorithms | Migration Instructions ]]


=== Calculators ===
=== Calculators ===


* CovarianceCalculator
* CovarianceCalculator <font style="color: #006400;">'''Refactored'''</font> (now CovarianceSampleFilter : ProcessObject)
* GreyLevelCooccurrenceMatrixTextureCoefficientsCalculator
* GreyLevelCooccurrenceMatrixTextureCoefficientsCalculator <font style="color: #006400;">'''Refactored'''</font> (now HistogramToTextureFeaturesFilter : ProcessObject)
* MeanCalculator
* MeanCalculator <font style="color: #006400;">'''Refactored'''</font> (now MeanSampleFilter : ProcessObject)
* ScalarImageTextureCalculator
* ScalarImageTextureCalculator <font style="color: #006400;">'''Refactored'''</font> (now ScalarImageToTextureFeaturesFilter : ProcessObject)
* WeightedCovarianceCalculator
* WeightedCovarianceCalculator <font style="color: #006400;">'''Refactored'''</font> (now WeightedCovarianceSampleFilter : ProcessObject)
* WeightedMeanCalculator
 
* WeightedMeanCalculator <font style="color: #006400;">'''Refactored'''</font> (now WeightedMeanSampleFilter : ProcessObject)
 
[[Proposals:Refactoring Statistics Framework 2007 Migration Users Guide #Calculators | Migration Instructions ]]


=== Generators ===
=== Generators ===


* ImageToHistogramGenerator
* ImageToHistogramGenerator <font style="color: #006400;">'''Refactored'''</font> (now ImageToHistogramFilter)
* ImageToListGenerator
* ImageToListGenerator <font style="color: #006400;">'''Refactored'''</font> (now ImageToListSampleFilter)
* KdTreeGenerator
* KdTreeGenerator COPIED
* ListSampleToHistogramGenerator
* ListSampleToHistogramGenerator <font style="color: #006400;">'''Refactored'''</font> (now SampleToHistogramFilter)
* MaskedScalarImageToGreyLevelCooccurrenceMatrixGenerator
* MaskedScalarImageToGreyLevelCooccurrenceMatrixGenerator <font style="color: #8b0000;">'''Deprecated!'''</font> (now managed by the ScalarImageToCooccurrenceMatrixFilter )
* MembershipSampleGenerator
* MembershipSampleGenerator <font style="color: #8b0000;">'''Deprecated!'''</font> (it should have been a type of Classifier filter .. to be implemented, Low priority)
* NormalVariateGenerator
* NormalVariateGenerator <font style="color: #8b0000;">'''Will stay as the only Generators'''</font>
* RandomVariateGeneratorBase
* RandomVariateGeneratorBase <font style="color: #8b0000;">'''Will stay as the only Generators'''</font>
* ScalarImageToGreyLevelCooccurrenceMatrixGenerator
* ScalarImageToGreyLevelCooccurrenceMatrixGenerator <font style="color: #006400;">'''Refactored'''</font> (now ScalarImageToCooccurrenceMatrixFilter )
* ScalarImageToHistogramGenerator
* ScalarImageToHistogramGenerator <font style="color: #006400;">'''Refactored'''</font> (now ImageToHistogramFilter)
* SelectiveSubsampleGenerator
* SelectiveSubsampleGenerator <font style="color: #006400;">'''Refactored'''</font> (to be implemented as a type of  SubsampleFilter)
* WeightedCentroidKdTreeGenerator
* WeightedCentroidKdTreeGenerator COPIED
 
[[Proposals:Refactoring Statistics Framework 2007 Migration Users Guide #Generators | Migration Instructions ]]


=== Filters ===
=== Filters ===


* HistogramToEntropyImageFilter
* HistogramToEntropyImageFilter PENDING
* HistogramToImageFilter
* HistogramToImageFilter PENDING
* HistogramToIntensityImageFilter
* HistogramToIntensityImageFilter PENDING
* HistogramToLogProbabilityImageFilter
* HistogramToLogProbabilityImageFilter PENDING
* HistogramToProbabilityImageFilter
* HistogramToProbabilityImageFilter PENDING
* ListSampleToHistogramFilter
* ListSampleToHistogramFilter <font style="color: #006400;">'''Refactored'''</font> (now SampleToHistogramFilter)
* SampleMeanShiftBlurringFilter
* SampleMeanShiftBlurringFilter PENDING
* SampleMeanShiftClusteringFilter
* SampleMeanShiftClusteringFilter   PENDING
* SampleSelectiveMeanShiftBlurringFilter
* SampleSelectiveMeanShiftBlurringFilter   PENDING
* SampleToHistogramProjectionFilter
* SampleToHistogramProjectionFilter PENDING
 
[[Proposals:Refactoring Statistics Framework 2007 Migration Users Guide #Filters | Migration Instructions ]]


=== Multivariate Density Functions ===
=== Multivariate Density Functions ===


* DensityFunction
* DensityFunction <font style="color: #8b0000;">'''Deprecated!'''</font>
* DistanceToCentroidMembershipFunction
* DistanceToCentroidMembershipFunction <font style="color: #006400;">'''Refactored'''</font>
* GaussianDensityFunction
* GaussianDensityFunction <font style="color: #006400;">'''Refactored'''</font> (and renamed as GaussianMembershipFunction)
* GoodnessOfFitFunctionBase
* GoodnessOfFitFunctionBase <font style="color: #8b0000;">'''Deprecated!'''</font> (has never been used in the toolkit) (to keep ?)
* GoodnessOfFitMixtureModelCostFunction
* GoodnessOfFitMixtureModelCostFunction <font style="color: #8b0000;">'''Deprecated!'''</font> (has never been used in the toolkit)(to keep ?)
* LogLikelihoodGoodnessOfFitFunction
* LogLikelihoodGoodnessOfFitFunction <font style="color: #8b0000;">'''Deprecated!'''</font> (has never been used in the toolkit)(to keep ?)
* MahalanobisDistanceMembershipFunction
* MahalanobisDistanceMembershipFunction <font style="color: #8b0000;">'''Deprecated!'''</font> (functionality provided by the MembershipFunction + MahalanobisDistance)
* MembershipFunctionBase
* MembershipFunctionBase <font style="color: #006400;">'''Refactored'''</font> (same name)
 
[[Proposals:Refactoring Statistics Framework 2007 Migration Users Guide #Multivariate Density Functions | Migration Instructions ]]


=== Distance Metrics ===
=== Distance Metrics ===


* DistanceMetric
* DistanceMetric <font style="color: #006400;">'''Refactored'''</font>
* EuclideanDistance
* EuclideanDistance <font style="color: #006400;">'''Refactored'''</font> (now EuclideanDistanceMetric)
 
[[Proposals:Refactoring Statistics Framework 2007 Migration Users Guide #Distance Metrics | Migration Instructions ]]
 
=== Decision rules===
 
* DecisionRuleBase  <font style="color: #006400;">'''Refactored'''</font> (now DecisionRule)
* MinimumDecisionRule <font style="color: #006400;">'''Refactored'''</font> (same name +2)
* MaximumDecisionRule <font style="color: #006400;">'''Refactored'''</font> (same name +2)
* MaximumRatioDecisionRule <font style="color: #006400;">'''Refactored'''</font> (same name +2)
 
[[Proposals:Refactoring Statistics Framework 2007 Migration Users Guide #Decision rules | Migration Instructions ]]


=== Components ===
=== Components ===


* GaussianGoodnessOfFitComponent
* GaussianGoodnessOfFitComponent   PENDING
* GaussianMixtureModelComponent
* GaussianMixtureModelComponent   Refactored (review comment at end of .txx)
* GoodnessOfFitComponentBase
* GoodnessOfFitComponentBase       PENDING
* MixtureModelComponentBase
* MixtureModelComponentBase       Refactored (same name)
 
[[Proposals:Refactoring Statistics Framework 2007 Migration Users Guide #Components | Migration Instructions ]]


=== Estimators ===
=== Estimators ===


* ExpectationMaximizationMixtureModelEstimator
* ExpectationMaximizationMixtureModelEstimator Refactored
* KdTreeBasedKmeansEstimator
* KdTreeBasedKmeansEstimator Refactored
 
[[Proposals:Refactoring Statistics Framework 2007 Migration Users Guide #Estimators | Migration Instructions ]]
 




Line 205: Line 248:
digraph G {
digraph G {
LightProcessObject [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1LightProcessObject.html"];
LightProcessObject [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1LightProcessObject.html"];
ProcessObject [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1ProcessObject.html"];
ClassifierBase [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1ClassifierBase.html"];
ClassifierBase [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1ClassifierBase.html"];
ImageClassifierBase [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1ImageClassifierBase.html"];
MRFImageFilter [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1MRFImageFilter.html"];
RGBPriorsFilter [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1RGBPriorsFilter.html"];
SampleClassifier [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1SampleClassifier.html"];
SampleClassifier [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1SampleClassifier.html"];
SampleClassifierWithMask [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1SampleClassifierWithMask.html"];
SampleClassifierWithMask [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1SampleClassifierWithMask.html"];
LightProcessObject -> ClassifierBase
LightProcessObject -> ClassifierBase
LightProcessObject -> ProcessObject
ClassifierBase -> SampleClassifier
ClassifierBase -> SampleClassifier
ClassifierBase -> SampleClassifierWithMask
ClassifierBase -> SampleClassifierWithMask
ClassifierBase -> ImageClassifierBase
ImageClassifierBase -> MRFImageFilter
ImageClassifierBase -> RGBPriorsFilter
}
}
</graphviz>
</graphviz>


== Traits ==
== Traits ==
<graphviz>
digraph G {
MeasurementVectorTraits [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1MeasurementVectorTraits.html"];
}
</graphviz>


== MeanShift ==
== MeanShift ==
<graphviz>
digraph G {
Object [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Object.html"];
MeanShiftModeSeekerBase [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1MeanShiftModeSeekerBase.html"];
HypersphereKernelMeanShiftModeSeeker [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1HypersphereKernelMeanShiftModeSeeker.html"];
MeanShiftModeCacheMethod [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1MeanShiftModeCacheMethod.html"];
Object ->  MeanShiftModeSeekerBase
Object ->  MeanShiftModeCacheMethod
MeanShiftModeSeekerBase -> HypersphereKernelMeanShiftModeSeeker
}
</graphviz>


== Adaptors ==
== Adaptors ==
<graphviz>
<graphviz>
digraph G {
digraph G {
Sample [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1Sample.html"];
Sample [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1Sample.html"];
ListSampleBase [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1ListSampleBase.html"];
ListSampleBase [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1ListSampleBase.html"];
ImageToCooccurrenceListAdaptor [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1ImageToCooccurrenceListAdaptor.html"];
ImageToCooccurrenceListAdaptor [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1ImageToCooccurrenceListAdaptor.html"];
ImageToListAdaptor [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1ImageToListAdaptor.html"];
ImageToListAdaptor [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1ImageToListAdaptor.html"];
Line 238: Line 307:


== Univariate Distributions ==
== Univariate Distributions ==
<graphviz>
digraph G {
Object [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Object.html"];
ProbabilityDistribution [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1ProbabilityDistribution.html"];
ChiSquareDistribution [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1ChiSquareDistribution.html"];
GaussianDistribution [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1GaussianDistribution.html"];
TDistribution [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1TDistribution.html"];
Object -> ProbabilityDistribution;
ProbabilityDistribution -> ChiSquareDistribution
ProbabilityDistribution -> GaussianDistribution
ProbabilityDistribution -> TDistribution
}
</graphviz>


== Algorithms ==
== Algorithms ==
<graphviz>
digraph G {
Object [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Object.html"];
SampleAlgorithmBase [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1SampleAlgorithmBase.html"];
StatisticsAlgorithm [shape=diamond,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1StatisticsAlgorithm.html"];
NeigborhoodSampler [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1NeighborhoodSampler.html"];
Calculators  [label="Calculators \n see below",URL="http://www.itk.org/Wiki/Proposals:Refactoring_Statistics_Framework_2007_Class_Manifesto#Calculators_2"];
Filters  [label="Some Filters \n see below", URL="http://www.itk.org/Wiki/Proposals:Refactoring_Statistics_Framework_2007_Class_Manifesto#Filters_2"];
Object -> SampleAlgorithmBase;
SampleAlgorithmBase -> NeigborhoodSampler;
SampleAlgorithmBase -> Calculators;
SampleAlgorithmBase -> Filters;
}
</graphviz>


== Calculators ==
== Calculators ==
=== API ===
* SetInputSample()
* GetInputSample()
* GetMeasurementVectorSize()
* SetMeasurementVectorSize()
* Update()
* GenerateData()
* GetOutput()
=== Class Diagram ===
<graphviz>
digraph G {
Object [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Object.html"];
SampleAlgorithmBase [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1SampleAlgorithmBase.html"];
CovarianceCalculator [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1CovarianceCalculator.html"];
MeanCalculator [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1MeanCalculator.html"];
ScalarImageTextureCalculator [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1ScalarImageTextureCalculator.html"];
WeightedCovarianceCalculator [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1WeightedCovarianceCalculator.html"];
WeightedMeanCalculator [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1WeightedMeanCalculator.html"];
GreyLevelCooccurrenceMatrixTextureCoefficientsCalculator  [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1GreyLevelCooccurrenceMatrixTextureCoefficientsCalculator.html"];
Object -> SampleAlgorithmBase;
Object -> ScalarImageTextureCalculator;
Object -> GreyLevelCooccurrenceMatrixTextureCoefficientsCalculator;
SampleAlgorithmBase -> MeanCalculator;
SampleAlgorithmBase -> CovarianceCalculator;
SampleAlgorithmBase -> WeightedMeanCalculator;
SampleAlgorithmBase -> WeightedCovarianceCalculator;
}
</graphviz>


== Generators ==
== Generators ==
=== API ===
* SetInput() / SetSample()
* GetImput()
* SetClassMask()
* GetClassMask()
* GenerateData()
* GetOutput()
=== Class Diagram ===
<graphviz>
digraph G {
Object [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Object.html"];
ProcessObject [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1ProcessObject.html"];
ImageToHistogramGenerator [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1ImageToHistogramGenerator.html"];
ImageToListGenerator [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1ImageToListGenerator.html"];
KdTreeGenerator [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1KdTreeGenerator.html"];
ListSampleToHistogramGenerator [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1ListSampleToHistogramGenerator.html"];
MaskedScalarImageToGreyLevelCooccurrenceMatrixGenerator [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1MaskedScalarImageToGreyLevelCooccurrenceMatrixGenerator.html"];
MembershipSampleGenerator [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1MembershipSampleGenerator.html"];
NormalVariateGenerator [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1NormalVariateGenerator.html"];
RandomVariateGeneratorBase [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1RandomVariateGeneratorBase.html"];
ScalarImageToGreyLevelCooccurrenceMatrixGenerator [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1ScalarImageToGreyLevelCooccurrenceMatrixGenerator.html"];
ScalarImageToHistogramGenerator [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1ScalarImageToHistogramGenerator.html"];
SelectiveSubsampleGenerator [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1SelectiveSubsampleGenerator.html"];
WeightedCentroidKdTreeGenerator [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1WeightedCentroidKdTreeGenerator.html"];
Object -> ProcessObject
ProcessObject -> ImageToListGenerator
Object -> ImageToHistogramGenerator
Object -> KdTreeGenerator
Object -> ListSampleToHistogramGenerator
Object -> MembershipSampleGenerator
Object -> RandomVariateGeneratorBase
Object -> ScalarImageToHistogramGenerator
Object -> SelectiveSubsampleGenerator
RandomVariateGeneratorBase -> NormalVariateGenerator
Object -> ScalarImageToGreyLevelCooccurrenceMatrixGenerator
ScalarImageToGreyLevelCooccurrenceMatrixGenerator -> MaskedScalarImageToGreyLevelCooccurrenceMatrixGenerator
KdTreeGenerator -> WeightedCentroidKdTreeGenerator
}
</graphviz>


== Filters ==
== Filters ==
<graphviz>
digraph G {
Object [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Object.html"];
ProcessObject [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1ProcessObject.html"];
ProcessObject [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1ProcessObject.html"];
HistogramToEntropyImageFilter [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1HistogramToEntropyImageFilter.html"];
HistogramToImageFilter [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1HistogramToImageFilter.html"];
HistogramToIntensityImageFilter [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1HistogramToIntensityImageFilter.html"];
HistogramToProbabilityImageFilter [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1HistogramToLogProbabilityImageFilter.html"];
HistogramToLogProbabilityImageFilter [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1HistogramToLogProbabilityImageFilter.html"];
ListSampleToHistogramFilter [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1ListSampleToHistogramFilter.html"];
SampleMeanShiftBlurringFilter [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1SampleMeanShiftBlurringFilter.html"];
SampleMeanShiftClusteringFilter  [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1SampleMeanShiftClusteringFilter.html"];
SampleSelectiveMeanShiftBlurringFilter [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1SampleSelectiveMeanShiftBlurringFilter.html"];
SampleToHistogramProjectionFilter [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1SampleToHistogramProjectionFilter.html"];
SampleAlgorithmBase [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1SampleAlgorithmBase.html"];
Object -> ProcessObject
Object -> SampleAlgorithmBase
ProcessObject -> ImageSource
ImageSource -> HistogramToImageFilter
HistogramToImageFilter -> HistogramToEntropyImageFilter
HistogramToImageFilter -> HistogramToIntensityImageFilter
HistogramToImageFilter -> HistogramToLogProbabilityImageFilter
HistogramToImageFilter -> HistogramToProbabilityImageFilter
Object -> ListSampleToHistogramFilter
SampleAlgorithmBase -> SampleMeanShiftBlurringFilter
SampleAlgorithmBase -> SampleMeanShiftClusteringFilter
SampleAlgorithmBase -> SampleToHistogramProjectionFilter
SampleMeanShiftBlurringFilter -> SampleSelectiveMeanShiftBlurringFilter
}
</graphviz>


== Multivariate Density Functions ==
== Multivariate Density Functions ==
<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"];
CostFunction [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1CostFunction.html"];
SingleValuedCostFunction [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1SingleValuedCostFunction.html"];
MembershipFunctionBase [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1MembershipFunctionBase.html"];
DensityFunction [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1DensityFunction.html"];
GaussianDensityFunction [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1GaussianDensityFunction.html"];
DistanceToCentroidMembershipFunction [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1DistanceToCentroidMembershipFunction.html"];
MahalanobisDistanceMembershipFunction [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1DistanceToCentroidMembershipFunction.html"];
GoodnessOfFitFunctionBase [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1GoodnessOfFitFunctionBase.html"];
GoodnessOfFitComponentBase [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1GoodnessOfFitComponentBase.html"];
GoodnessOfFitMixtureModelCostFunction [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1GoodnessOfFitMixtureModelCostFunction.html"];
SampleAlgorithmBase [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1SampleAlgorithmBase.html"];
LogLikelihoodGoodnessOfFitFunction [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1LogLikelihoodGoodnessOfFitFunction.html"];
DistanceMetrics  [label="Distance Metrics\n see below", URL="http://www.itk.org/Wiki/Proposals:Refactoring_Statistics_Framework_2007_Class_Manifesto#Distance_Metrics_2"];
Object -> FunctionBase
Object -> GoodnessOfFitComponentBase
Object -> CostFunction
Object -> SampleAlgorithmBase
SampleAlgorithmBase -> GoodnessOfFitFunctionBase
FunctionBase -> MembershipFunctionBase
MembershipFunctionBase -> DistanceMetrics
MembershipFunctionBase -> DensityFunction
DensityFunction -> GaussianDensityFunction
MembershipFunctionBase -> MahalanobisDistanceMembershipFunction
MembershipFunctionBase -> DistanceToCentroidMembershipFunction
GoodnessOfFitFunctionBase -> LogLikelihoodGoodnessOfFitFunction
SingleValuedCostFunction -> GoodnessOfFitMixtureModelCostFunction
CostFunction -> SingleValuedCostFunction
}
</graphviz>


== Distance Metrics ==
== Distance Metrics ==
<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"];
DistanceMetric [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1DistanceMetric.html"];
EuclideanDistance  [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1EuclideanDistance.html"];
MembershipFunctionBase  [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1MembershipFunctionBase.html"];
MahalanobisDistanceMembershipFunction [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1MahalanobisDistanceMembershipFunction.html"];
DistanceToCentroidMembershipFunction [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1DistanceToCentroidMembershipFunction.html"];
DensityFunction [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1DensityFunction.html"];
GaussianDensityFunction [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1GaussianDensityFunction.html"];
Object -> FunctionBase
FunctionBase -> MembershipFunctionBase
MembershipFunctionBase -> DistanceMetric
DistanceMetric -> EuclideanDistance
MembershipFunctionBase  -> MahalanobisDistanceMembershipFunction
MembershipFunctionBase  -> DistanceToCentroidMembershipFunction
MembershipFunctionBase  -> DensityFunction
DensityFunction -> GaussianDensityFunction
}
</graphviz>


== Components ==
== Components ==
<graphviz>
digraph G {
Object [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Object.html"];
GoodnessOfFitComponentBase [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1GoodnessOfFitComponentBase.html"];
MixtureModelComponentBase [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1MixtureModelComponentBase.html"];
GaussianMixtureModelComponent [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1GaussianMixtureModelComponent.html"];
GaussianGoodnessOfFitComponent [shape=box, URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1GaussianGoodnessOfFitComponent.html"];
Object -> GoodnessOfFitComponentBase
Object -> MixtureModelComponentBase
MixtureModelComponentBase -> GaussianMixtureModelComponent
GoodnessOfFitComponentBase -> GaussianGoodnessOfFitComponent
}
</graphviz>


== Estimators ==
== Estimators ==
<graphviz>
digraph G {
KdTreeBasedKmeansEstimator [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1KdTreeBasedKmeansEstimator.html"];
ExpectationMaximizationMixtureModelEstimator [shape=box,URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Statistics_1_1ExpectationMaximizationMixtureModelEstimator.html"];
Object [URL="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Object.html"];
Object -> KdTreeBasedKmeansEstimator
Object -> ExpectationMaximizationMixtureModelEstimator
}
</graphviz>

Latest revision as of 15:55, 29 April 2009

Statistics Class Manifesto

Summary Table

They are categorized in the following table


Conceptual Class Number
Measurement Containers 8
Frequency Containers 2
Process Objects 2
Traits 1
Mean shift 3
Adaptors 5
Univariate Distributions 4
Algorithms 3
Calculators 6
Generators 12
Filters 10
Multivariate Density Functions 8
Distance Metrics 2
Components 4
Estimators 2
Total 72

List of Classes per Category

Measurement Containers



  • KdTree Refactored (same name)
  • Histogram Refactored (same name)
  • VariableDimensionHistogram Refactored (now provided as Histrogram)
  • ListSampleBase Deprecated!
  • ListSample Refactored (same name)
  • Sample Refactored (same name) (now derives from DataObject)
  • Subsample Refactored (same name)(identifiers do not refer to sample anymore)
  • MembershipSample Refactored In Progress (same name. does not derive from sample anymore)


Migration Instructions

Frequency Containers

  • DenseFrequencyContainer Refactored (DenseFrequencyContainer2)
  • SparseFrequencyContainer Refactored (SparseFrequencyContainer2)

Note: The names of the frequency containers were suffixed by 2 to make them different from the frequency containers in ITK CVS to avoid linking problem with the ITKStatistics library Migration Instructions

Process Objects

  • SampleClassifier Refactored (as SampleClassifierFilter )
  • SampleClassifierWithMaskWill be Refactored (as SampleClassifierWithMaskFilter ) PENDING

Migration Instructions

Traits

  • MeasurementVectorTraits Refactored (same name)

Migration Instructions

MeanShift

  • HypersphereKernelMeanShiftModeSeeker PENDING
  • MeanShiftModeCacheMethod PENDING
  • MeanShiftModeSeekerBase PENDING

Migration Instructions

Adaptors

  • ImageToCooccurrenceListAdaptor Refactored ( now ScalarImageToCoocurrenceListSampleFilter )
  • ImageToListAdaptor Refactored ( now ImageToListSampleAdaptor )
  • JointDomainImageToListAdaptor Refactored ( now JointDomainImageToListSampleAdaptor )
  • PointSetToListAdaptor Refactored ( now PointSetToListSampleAdaptor )
  • ScalarImageToListAdaptor Deprecated!

Migration Instructions

Univariate Distributions

  • ChiSquareDistribution COPIED
  • GaussianDistribution COPIED
  • ProbabilityDistribution COPIED
  • TDistribution COPIED

Migration Instructions

Algorithms

  • SampleAlgorithmBase Deprecated!
  • StatisticsAlgorithm COPIED
  • NeighborhoodSampler Refactored (must be renamed as NeighborhoodExtractionSampleFilter?)

Migration Instructions

Calculators

  • CovarianceCalculator Refactored (now CovarianceSampleFilter : ProcessObject)
  • GreyLevelCooccurrenceMatrixTextureCoefficientsCalculator Refactored (now HistogramToTextureFeaturesFilter : ProcessObject)
  • MeanCalculator Refactored (now MeanSampleFilter : ProcessObject)
  • ScalarImageTextureCalculator Refactored (now ScalarImageToTextureFeaturesFilter : ProcessObject)
  • WeightedCovarianceCalculator Refactored (now WeightedCovarianceSampleFilter : ProcessObject)
  • WeightedMeanCalculator Refactored (now WeightedMeanSampleFilter : ProcessObject)

Migration Instructions

Generators

  • ImageToHistogramGenerator Refactored (now ImageToHistogramFilter)
  • ImageToListGenerator Refactored (now ImageToListSampleFilter)
  • KdTreeGenerator COPIED
  • ListSampleToHistogramGenerator Refactored (now SampleToHistogramFilter)
  • MaskedScalarImageToGreyLevelCooccurrenceMatrixGenerator Deprecated! (now managed by the ScalarImageToCooccurrenceMatrixFilter )
  • MembershipSampleGenerator Deprecated! (it should have been a type of Classifier filter .. to be implemented, Low priority)
  • NormalVariateGenerator Will stay as the only Generators
  • RandomVariateGeneratorBase Will stay as the only Generators
  • ScalarImageToGreyLevelCooccurrenceMatrixGenerator Refactored (now ScalarImageToCooccurrenceMatrixFilter )
  • ScalarImageToHistogramGenerator Refactored (now ImageToHistogramFilter)
  • SelectiveSubsampleGenerator Refactored (to be implemented as a type of SubsampleFilter)
  • WeightedCentroidKdTreeGenerator COPIED

Migration Instructions

Filters

  • HistogramToEntropyImageFilter PENDING
  • HistogramToImageFilter PENDING
  • HistogramToIntensityImageFilter PENDING
  • HistogramToLogProbabilityImageFilter PENDING
  • HistogramToProbabilityImageFilter PENDING
  • ListSampleToHistogramFilter Refactored (now SampleToHistogramFilter)
  • SampleMeanShiftBlurringFilter PENDING
  • SampleMeanShiftClusteringFilter PENDING
  • SampleSelectiveMeanShiftBlurringFilter PENDING
  • SampleToHistogramProjectionFilter PENDING

Migration Instructions

Multivariate Density Functions

  • DensityFunction Deprecated!
  • DistanceToCentroidMembershipFunction Refactored
  • GaussianDensityFunction Refactored (and renamed as GaussianMembershipFunction)
  • GoodnessOfFitFunctionBase Deprecated! (has never been used in the toolkit) (to keep ?)
  • GoodnessOfFitMixtureModelCostFunction Deprecated! (has never been used in the toolkit)(to keep ?)
  • LogLikelihoodGoodnessOfFitFunction Deprecated! (has never been used in the toolkit)(to keep ?)
  • MahalanobisDistanceMembershipFunction Deprecated! (functionality provided by the MembershipFunction + MahalanobisDistance)
  • MembershipFunctionBase Refactored (same name)

Migration Instructions

Distance Metrics

  • DistanceMetric Refactored
  • EuclideanDistance Refactored (now EuclideanDistanceMetric)

Migration Instructions

Decision rules

  • DecisionRuleBase Refactored (now DecisionRule)
  • MinimumDecisionRule Refactored (same name +2)
  • MaximumDecisionRule Refactored (same name +2)
  • MaximumRatioDecisionRule Refactored (same name +2)

Migration Instructions

Components

  • GaussianGoodnessOfFitComponent PENDING
  • GaussianMixtureModelComponent Refactored (review comment at end of .txx)
  • GoodnessOfFitComponentBase PENDING
  • MixtureModelComponentBase Refactored (same name)

Migration Instructions

Estimators

  • ExpectationMaximizationMixtureModelEstimator Refactored
  • KdTreeBasedKmeansEstimator Refactored

Migration Instructions


Class Diagrams

Measurement Containers

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


Frequency Containers

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

Process Objects

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

Traits

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

MeanShift

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

Adaptors

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

Univariate Distributions

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

Algorithms

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

Calculators

API

  • SetInputSample()
  • GetInputSample()
  • GetMeasurementVectorSize()
  • SetMeasurementVectorSize()
  • Update()
  • GenerateData()
  • GetOutput()

Class Diagram

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

Generators

API

  • SetInput() / SetSample()
  • GetImput()
  • SetClassMask()
  • GetClassMask()
  • GenerateData()
  • GetOutput()

Class Diagram

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.

Multivariate Density Functions

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

Distance Metrics

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

Components

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

Estimators

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