Proposals:Refactoring Statistics Framework 2007 Migration Users Guide: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
Line 5: Line 5:
== Measurement Containers ==
== Measurement Containers ==


{| border="1"
{| border="1"
|- bgcolor="#abcdef"
|- bgcolor="#abcdef"
!  Class Name !! Fate  !! New Use
!  Class Name !! Fate  !! Deprecated API !! New API
|-
|-
| KdTree || Refactored ||  
| KdTree || Refactored ||  ||
|-
|-
| Histogram || Refactored  ||
| Histogram || Refactored  ||    ||  
|-
|-
| VariableDimensionHistogram ||  ||
| VariableDimensionHistogram ||  ||    ||
|-
|-
| ListSampleBase || Deprecated || The class was unecessary, it was providing only a Search() method that should in fact be provided by a process class, not a data container. If you were deriving from this class, you should now derive directly from the itk::Sample. If you were using the Search() method you can get that functionality now from the itkStatisticsAlgorithm  Search() algorithm.
| ListSampleBase || Deprecated. The class was unecessary, it was providing only a Search() method that should in fact be provided by a process class, not a data container.  
||
* If you were deriving a class from the itk::Statistics::ListSampleBase, you should now derive directly from the itk::Statistics::Sample class.
* If you were using the Search() method you can get that functionality now from the itkStatisticsAlgorithm  Search() algorithm.
||
|-
|-
| ListSample || Refactored  || The iterators API was updated, const-correctness is now enforced
| ListSample || Refactored  || The iterators API was updated, const-correctness is now enforced ||
|-
|-
| Sample || Refactored  || const-correctness is now enforced. It now derives from DataObject
| Sample || Refactored  ||  
||
* const-correctness is now enforced.  
* It now derives from DataObject
|-
|-
| Subsample || Refactored  || The concept of Indices and InstanceIdentifiers was fixed. InstanceIdentifiers were previously referring to the original Sample, they are now referring to the current Subsample set of measurement vectors. The basic principle followed now in the design of the Subsample class is that the subsample should behave as a sample. That is, a user should be able to use a Subsample class in any algorithm that is expecting a Sample.
| Subsample || Refactored  ||  
*The concept of Indices and InstanceIdentifiers was fixed. InstanceIdentifiers were previously referring to the original Sample, they are now referring to the current Subsample set of measurement vectors.  
||
* The basic principle followed now in the design of the Subsample class is that the subsample should behave as a sample. That is, a user should be able to use a Subsample class in any algorithm that is expecting a Sample.
|-
|-
| MembershipSample || Refactored  || It does not derive from itk::Sample anymore, instead it derives from DataObject.
| MembershipSample || Refactored  ||  
*It does not derive from itk::Sample anymore, instead it derives from DataObject.
||
|}
|}


== Frequency Containers ==
== Frequency Containers ==
{| border="1"
|- bgcolor="#abcdef"
!  Class Name !! Fate  !! Deprecated API !! New API
|-
|  DenseFrequencyContainer ||    ||  ||
|-
| SparseFrequencyContainer ||    ||  ||
|}


== Process Objects ==
== Process Objects ==
{| border="1"
|- bgcolor="#abcdef"
!  Class Name !! Fate  !! Deprecated API !! New API
|-
|  SampleClassifier  ||    ||      ||
|-
|  SampleClassifierWithMask  ||    ||    ||
|}


== Calculators ==
== Calculators ==

Revision as of 15:54, 23 April 2007

How To Migrate your code to the New Statistics Framework

Measurement Containers



Class Name Fate Deprecated API New API
KdTree Refactored
Histogram Refactored
VariableDimensionHistogram
ListSampleBase Deprecated. The class was unecessary, it was providing only a Search() method that should in fact be provided by a process class, not a data container.
  • If you were deriving a class from the itk::Statistics::ListSampleBase, you should now derive directly from the itk::Statistics::Sample class.
  • If you were using the Search() method you can get that functionality now from the itkStatisticsAlgorithm Search() algorithm.
ListSample Refactored The iterators API was updated, const-correctness is now enforced
Sample Refactored
  • const-correctness is now enforced.
  • It now derives from DataObject
Subsample Refactored
  • The concept of Indices and InstanceIdentifiers was fixed. InstanceIdentifiers were previously referring to the original Sample, they are now referring to the current Subsample set of measurement vectors.
  • The basic principle followed now in the design of the Subsample class is that the subsample should behave as a sample. That is, a user should be able to use a Subsample class in any algorithm that is expecting a Sample.
MembershipSample Refactored
  • It does not derive from itk::Sample anymore, instead it derives from DataObject.

Frequency Containers

Class Name Fate Deprecated API New API
DenseFrequencyContainer
SparseFrequencyContainer

Process Objects

Class Name Fate Deprecated API New API
SampleClassifier
SampleClassifierWithMask

Calculators

Class Name Fate Deprecated API New API
CovarianceCalculator Refactored into CovarianceFilter SetMean() because it was inconsistent GetOutput(), SetInput(), GetMean()
GreyLevelCooccurrenceMatrixTextureCoefficientsCalculator Refactored into HistogramToTextureFeaturesFilter now derives from ProcessObject, SetInput(), GetOutput()
MeanCalculator Refactored into MeanFilter SetSample() method replaced with SetInput() now derives from ProcessObject
ScalarImageTextureCalculator Refactored into (???Filter)
WeightedCovarianceCalculator Refactored into WeightedCovarianceFilter
  • SetSample() method replaced with SetInput()
  • SetWeightFunction() now you could use the WeightFilter???
  • now derives from ProcessObject
  • SetWeightsInputs() (the data decorated version of SetWeights() ....
WeightedMeanCalculator Refactored into WeightedMeanFilter
  • SetSample() method replaced with SetInput()
  • SetWeightFunction() now you could use the WeightFilter???
  • now derives from ProcessObject
  • SetWeightsInputs() (the data decorated version of SetWeights() ....