Proposals:Refactoring Statistics Framework 2007 Action Items: Difference between revisions
From KitwarePublic
Jump to navigationJump to search
(5 intermediate revisions by 2 users not shown) | |||
Line 48: | Line 48: | ||
* Histogram (Luis) <font style="color: #8b0000;">'''Done'''</font> | * Histogram (Luis) <font style="color: #8b0000;">'''Done'''</font> | ||
* Subsample (Andinet) <font style="color: #8b0000;">'''Done'''</font> | * Subsample (Andinet) <font style="color: #8b0000;">'''Done'''</font> | ||
* MembershipSample ( | * MembershipSample (Andinet) <font style="color: #006400;">'''Done'''</font> | ||
* KdTree ( | * KdTree (Andinet) <font style="color: #0000a0;">'''Done'''</font> | ||
** Replace "WeightedCentroid" with "SumMeasurmentVector" | ** Replace "WeightedCentroid" with "SumMeasurmentVector" | ||
** propagate this to KdTree generators | ** propagate this to KdTree generators | ||
* VariableDimensionHistogram (Luis) <font style="color: #0000a0;">''' | * VariableDimensionHistogram (Luis) <font style="color: #0000a0;">'''Done'''</font> | ||
* MembershipFunctionBase ( | * MembershipFunctionBase (Andinet) <font style="color: #0000a0;">'''Done'''</font> | ||
== Process Objects == | == Process Objects == | ||
* MeanFilter (Andinet) <font style="color: #8b0000;">'''Done!'''</font> | * MeanFilter (Andinet) <font style="color: #8b0000;">'''Done!'''</font> | ||
* | * SampleToHistogramFilter (it was ListSampleToHistogramGenerator) (Luis) <font style="color: #8b0000;">'''Done!'''</font> | ||
* ImageToCooccurrenceListFilter (it was ImageToCooccurrenceListAdaptor) (Luis) | * ImageToCooccurrenceListFilter (it was ImageToCooccurrenceListAdaptor) (Luis) <font style="color: #8b0000;">'''Done!'''</font> | ||
* CovarianceFilter (Andinet) | * CovarianceFilter (Andinet) | ||
* HistogramToTextureFeaturesFilter (it was GreyLevelCooccurrenceMatrixTextureCoefficientsFilter) (Andinet) <font style="color: #8b0000;">'''Done!'''</font> | * HistogramToTextureFeaturesFilter (it was GreyLevelCooccurrenceMatrixTextureCoefficientsFilter) (Andinet) <font style="color: #8b0000;">'''Done!'''</font> | ||
Line 114: | Line 112: | ||
== Classifier related classes refactoring == | == Classifier related classes refactoring == | ||
* Reorganize distance metrics and membership function bases as suggested in [[http://www.itk.org/Wiki/Proposals:Refactoring_Statistics_Framework_2007_New_Statistics_Framework#Classifiers_.28Suggested_Design.29_2]] (Andinet) | * Reorganize distance metrics and membership function bases as suggested in [[http://www.itk.org/Wiki/Proposals:Refactoring_Statistics_Framework_2007_New_Statistics_Framework#Classifiers_.28Suggested_Design.29_2]] (Andinet :Done) | ||
** | ** Use the new MeasurmentVectorTraits added to set/get MeasurementVectorSize | ||
** Update the migration guide ([[http://www.itk.org/Wiki/Proposals:Refactoring_Statistics_Framework_2007_Migration_Users_Guide]]) | ** Update the migration guide ([[http://www.itk.org/Wiki/Proposals:Refactoring_Statistics_Framework_2007_Migration_Users_Guide]]) | ||
** Add unit tests if necessary | ** Add unit tests if necessary | ||
** Fix code style issues | ** Fix code style issues | ||
*Refactor Gaussian density function | |||
** Rename itkGaussianDensityfunction as GaussianMembership function | |||
** Remove itkDenistyFunction (it does exactly what itkMembershipfunction is supposed to do) |
Latest revision as of 15:19, 13 August 2008
Action Items
API Fixes
- ImageToCoocurrenceListAdaptor
- Create a Filter for this operation, in this class the Compute() method will be used.
- Fix the API so it is a real Adaptor : must have a GetMeasurementVector(unsigned int id) method.
- There is no conceptual difference between "Generators" and "Calculators"
- They should become Filters
- Estimators have similar characterstics as "Generators" and "Calculators"
- They could be converted to filters
Proposals
- Sample class could be derived from a DataObject
- Subsequently, all the derived classes such as ListSampleBase, Histogram and Subsample will be part of the pipeline.
- Add a typedef in the Sample class for the DataObjectDectorator of a Measurement vector
- KDTree could be derived from a DataObject
- ListSampleBase : to be deprecated
- SampleAlgorithmBase will be derived from ProcessObject
- Subsequently, classes derived from the SampleAlgorithmBase will be process objects.
- The following Calculator classes will also be derived from process object
- ScalarImageTextureCalculator
- GreyLevelCooccurrenceMatrixTextureCoefficientsCalculator
- The following Generator classes will be derived from process object
- ImageToHistogramGenerator
- ImageToListGenerator
- KdTreeGenerator
- ListSampleToHistogramGenerator
- MaskedScalarImageToGreyLevelCooccurrenceMatrixGenerator
- MembershipSampleGenerator
- ScalarImageToGreyLevelCooccurrenceMatrixGenerator
- ScalarImageToHistogramGenerator
- SelectiveSubsampleGenerator
- WeightedCentroidKdTreeGenerator
- The following two generator classes will remain as generators
- NormalVariateGenerator
- RandomVariateGeneratorBase
- Frequency container classes ( DenseFrequencyContainer and SparseFrequencyContainer ) do not need any modification at this point unless
- there is a filter which outputs this data type ( in which case DataObjectDecorator can be defined )
- There is a duplication of data in the omponentbase, membership function
Progress of Specific Tasks
Data Objects
- Sample (Luis) Done
- ListSample (Luis) Done
- Histogram (Luis) Done
- Subsample (Andinet) Done
- MembershipSample (Andinet) Done
- KdTree (Andinet) Done
- Replace "WeightedCentroid" with "SumMeasurmentVector"
- propagate this to KdTree generators
- VariableDimensionHistogram (Luis) Done
- MembershipFunctionBase (Andinet) Done
Process Objects
- MeanFilter (Andinet) Done!
- SampleToHistogramFilter (it was ListSampleToHistogramGenerator) (Luis) Done!
- ImageToCooccurrenceListFilter (it was ImageToCooccurrenceListAdaptor) (Luis) Done!
- CovarianceFilter (Andinet)
- HistogramToTextureFeaturesFilter (it was GreyLevelCooccurrenceMatrixTextureCoefficientsFilter) (Andinet) Done!
- ScalarImageToTextureFeaturesFilter (Andinet)
- WeightedCovarianceFilter (Andinet)
- WeightedMeanFilter (Andinet) Done!
- ImageToHistogramFilter (was ImageToHistogramGenerator) (Luis)
- ImageToListSampleFilter (ImageToListGenerator) (Andinet) Done!
- SampleToKdTreeFilter (it was KdTreeGenerator ) (Andinet)
- (+option for generating sum vectors)
- WeigthedCentroidKdTreeGenerator will be deprecated
- ScalarImageToCooccurrenceMatrixFilter (it was ScalarImageToGreyLevelCooccurrenceMatrixGenerator)(Andinet) Done!
- MaskedScalarImageToGreyLevelCooccurrenceMatrixGenerator will be deprecated
- ScalarImageToCooccurrenceMatrixFilter takes a mask image if provided
- ScalarImageToHistogramFilter (it was ScalarImageToHistogramGenerator)(Luis)
- SampleToSubsampleFilter (New class) (Luis) In Progress
- ClassLabelSubsamplerFilter (it was SelectiveSubsampleGenerator) (Luis)
- NeighborSubsamplerFilter (it was NeighborhoodSampler)(Luis) In Progress
- ListSampleToHistogramFilter (make it derive from ProcessObject) Andinet
- SampleFilterBase (it was SampleAlgorithmBase) (make it derive from ProcessObject) (Luis)
- HistogramToImageFilter (remove decorator, now that Histogram is a DataObject) (Luis)
- HistogramToEntropyImageFilter (do code review) (Andinet)
- HistogramToIntensityImageFilter (do code review) (Luis)
- HistogramToLogProbabilityImageFilter (do code review) (Andinet)
- HistogramToProbabilityImageFilter (do code review) (Luis)
- SampleToHistogramProjectionFilter (output Histogram should be created in MakeOutput)(Andinet)
- MeanShiftBlurringSampleFilter (it was SampleMeanShiftBlurringFilter)(Andinet)
- SelectiveMeanShiftBlurringSampleFilter (it was SampleSelectiveMeanShiftBlurringFilter)(Luis)
- MeanShiftClusteringSampleFilter (it was SampleMeanShiftClusteringFilter) (Andinet)
- SelectiveMeanShiftClusteringSampleFilter (it was SampleSelectiveMeanShiftClusteringFilter) (Luis)(why should be called "Selective")
- SampleClassifierFilter (it was SampleClassifier) (Luis) In Progress
- SampleClassifierWithMaskFilter (it was SampleClassifier) (Luis)
- ExpectationMaximizationMixtureModelEstimator (Luis)
- (review the Classifiers hierarchy)
- Review Components and MembershipSample classes
- SampleToKmeansFilter (it was KdTreeBasedKmeansEstimator) (Andinet)
- (it now should use the WeightedKdTreeGenerator inside).
- Output should be a container of MeasuremenVectors of RealType (Andinet)
- Rework the Insight/Code/Algorithms/itkScalarImageKmeansImageFilter accordingly (Luis)
- ClassificationSampleFilter (it was SampleClassifier) (Andinet)
- Related to the classifier reorganization
- MaskedClassificationSampleFilter (it was SampleClassifierWithMask) (Luis)
- Related to the classifier reorganization
Adaptors
- ImageToListAdaptor (Andinet)
- JointDomainImageToListAdaptor (Andinet)
- PointSetToListAdaptor (Luis)
- ScalarImageToListAdaptor (Andinet)
- Reorganize distance metrics and membership function bases as suggested in [[1]] (Andinet :Done)
- Use the new MeasurmentVectorTraits added to set/get MeasurementVectorSize
- Update the migration guide ([[2]])
- Add unit tests if necessary
- Fix code style issues
- Refactor Gaussian density function
- Rename itkGaussianDensityfunction as GaussianMembership function
- Remove itkDenistyFunction (it does exactly what itkMembershipfunction is supposed to do)