[Insight-developers] Renaming frenzy
Will Schroeder
will.schroeder@kitware.com
Fri, 26 Jan 2001 16:14:28 -0500
Hi Folks-
As we mentioned on the tele-conference today the naming in itk is not working
real well. The GE and Kitware folks spent several hours on Wednesday trying to improve
the situation. Here's what we came up with.
Scheme: <Name of algorithm/process> <InputType (if any)> <type of object/concept>
e.g., ShrinkImageFilter
We allowed for exceptions to make the names more natural.
Why? because it seemed to work better than other schemes: the resulting names seemed more natural, easier to understand what the object does, and contained a reasonable amount of information about the class without becoming a mouth full.
In the scheme above, input type was either Image or Mesh. We came up with a whole long list of <type of object> based on our review of all the classes. Our <type of list> is (or concepts) include:
Accessor
Calculator
Dispatcher
Operator
Adaptor
Function
Filter
Optimizer
Classifier
Estimator
Metric
Interface
Transform
Mapper
Interpolator
Sampler
Factory
Threader
Boundary
Region
Reader
Writer
Source
Iterator
Container
Pointer
Reference
Identifier
Anyway, based on this scheme, his is the list of the names we came up with (a plus sign means keep the name,
some classes have alternatives, some need to be deleted or reworked/refactored into
several classes). Please read these over, preferably with some sort of relaxant in your hand, and let everybody know what you think.
AffineMutualInformation - AffineMutualInformationMetric
AffineMutualInformationVW - VWAffineMutualInformationMetric
AffineTransform - +
Array - +
BoundingBox - +
ByteSwap - ByteSwapper
CellBoundary - +
CellInterface - + (?versus IndexedContainerInterface)
CellInterfaceVisitor - +
Classifier - +
Command - +
CreateObjectFunction - +
CurvatureFlow - CurvatureFlowOnImage, CurvatureFlowImageFilter
DataAccessor - +
DataAccessorRGBtoBlue - BlueDataAccessor
DataAccessorRGBtoGreen - GreenDataAccessor
DataAccessorRGBtoRed - RedDataAccessor
DataObject - +
DerivativeHalfBackwardOperator - BackwardDifferenceOperator
DerivativeHalfForwardOperator - ForwardDifferenceOperator
DerivativeOperator - +
Directory - +
DynamicLoader - +
EntropyDerivativeFunction - GradientMagnitudeEntropyFunction
EvolveLevelSet - LevelSetImageFilter
ExceptionObject - +
ExtensionVelocities - ExtensionVelocitiesImageFilter
ExtractMeshConnectedRegions - ConnectedRegionsMeshFilter
FastMarchExtension - FastMarchingExtensionImageFilter
FastMarching - FastMarchingImageFilter
FastMutexLock - +
FileIO - -(removal) or ImageReader
FileIOCommon - -(removal)
FilterFileIOToImage - -(removal)
FilterImageAdd - AddImageFilter
FilterImageAnisotropicDiffusion - AnisotropicDiffusionImageFilter
FilterImageAnisotropicDiffusionBase - AnisotropicDiffusionImageBase
FilterImageBinary - BinaryImageFilter
FilterImageDerivative - DerivativeImageFilter
FilterImageDiscreteGaussian - DiscreteGaussianImageFilter
FilterImageGradientMagnitude - GradientMagnitudeImageFilter
FilterImageMult - MultiplyImageFilter
FilterImageRecursiveGaussian - IterativeSmoothingImageFilter
FilterImageRecursiveGaussianFirstDerivative - FirstDerivativeIterativeSmoothingImageFilter
FilterImageRecursiveGaussianSecondDerivative - SecondDerivativeIterativeSmoothingImageFilter
FilterImageSingleOperator - OperatorImageFilter
FilterImageSub - SubtractImageFilter
FilterImageTernary - TernaryImageFilter
FilterImageTernaryAdd - TernaryAddImageFilter
FilterImageTernaryModulus -TernaryMagnitudeImageFilter
FilterImageTernaryModulusSquare - TernaryMagnitudeSquaredImageFilter
FilterImageToImage - ImageToImageFilter
FilterImageVectorValuedAnisotropicDiffusion - VectorAnisotropicDiffusionImageFilter
FilterImageWatershedLevelAdaptor - RelabelWatershedImageFilter
FilterImageWatershedSegment - WatershedImageFilter
FilterMeshToMesh - MeshToMeshFilter
GaussianOperator - +
GaussianSupervisedClassifier - +
GeodesicActiveContours - GeodesicActiveContourImageFilter
HexahedronCell - +
Image - +
ImageAdaptor - +
ImageBase - +
ImageBufferIterator - +
ImageContainerInterface - +
ImageFunction - +
ImageIterator - +
ImageIteratorWithIndex - +
ImageLinearIterator - +
ImageMoments - ImageMomentMetric (should be process object)
ImageRegion - +
ImageRegionIterator - +
ImageRegionSimpleIterator - SimpleImageRegionIterator
ImageScalarRegionIterator - ScalarImageRegionIterator
ImageSliceIterator - +
ImageSource - +
ImportImage - ImportImageFilter, ImageImporter
ImportImageContainer - +
Indent - +
Index - +
IndexedContainerInterface - +
IntTypes - +
KMeansUnsupervisedClassifier - +
KalmanLinearEstimator - +, KalmanEstimator, KalmanFilter
KernelFunction - +
LevelSetNode - +
LevelSetCurvatureFunction - +
LevelSetShapeDetection - ShapeDetectionImageFilter
LightObject - +
LineCell - +
LinearInterpolateFunction - LinearInterapolateImageFunction
LocateLevelSet - LevelSetLocator
LocateLevelSetExtension - LevelSetExtensionLocator
MRFLabeller - MRFClassifierImageFilter, need a MRFClassifier that derives from the Classifier tree
Macro - +
Maker - -remove
MapContainer - +
Mesh - +
MeshRegion - +
MeshSource - +
MeshTypeDefault - +
MeshTypeDefaultDynamic - DynamicMeshTypeDefault
MultiThreader - +
MutexLock - +
MutualInformation - MutualInformationMetric (MutualInformationImageMetric?)
MutualInformationRigidRegistration - MutualInformationRigidTransform
MutualInformationRigidRegistrationVW - ViolaWellsWMutualInformationRigidTransform
Neighborhood - +
NeighborhoodAlgorithm - Similar to ImageFunctions? refactor?
NeighborhoodBase - +
NeighborhoodIterator - +
NeighborhoodOperator - +
NonThreadedShrinkImage - NonThreadedShrinkImageFilter
NumericTraits - +
Object - +
ObjectFactory - +
ObjectFactoryBase - +
OutputWindow - +
PixelTraits - +
Point - +
PointLocator - +
ProcessObject - +
QuadrilateralCell - +
RGB - RGBPixel
RGBorder - RegionGrowBorderCriteria
RGBorderKLM - KLMRegionGrowBorderCriteria
RGRegion - Segment, RegionGrowRegion
RGRegionKLM - KLMRegionGrowRegion
RandomAccessNeighborhoodIterator - +
RandomImageSource - +
ReadVTKImage - VTKImageReader
Region - +
RegionBoundaryNeighborhoodIterator - +
RegionGrow - RegionGrowImageFilter
RegionGrowKLM - KLMRegionGrowImageFilter
RegionNeighborhoodIterator - +
RegistrationMapper - refactor (transform, sampler, probefilter)
RegistrationMapperImage - refactor (transform, sampler, probefilter)
RegistrationMapperProcrustes - refactor (transform, sampler, probefilter)
RegistrationMethod - RegistrationTransform
RegistrationMetric - SimilarityRegistrationMetric
RegistrationMetricProcrustes - ProcrustesRegistrationMetric
RegistrationOptimizer - Optimizer
RegistrationOptimizerAmoeba - AmoebaOptimizer
RegistrationOptimizerConjugateGradient - ConjugateGradientOptimizer
RegistrationOptimizerLBFGS - LBFGSOptimizer
RegistrationOptimizerLevenbergMarquardt - LevenbergMarquardtOptimizer
RegistrationOptimizerNonLinear - NonLinearOptimizer
RegistrationTransformation - Transform
RegistrationTransformationAffine - AffineTransform (did we have one above?)
ReinitializeLevelSet - ReinitializeLevelSetImageFilter
Scalar - +
ScalarVector - +
ShrinkImage - ShrinkImageFilter
Size - +
SliceIterator - +
SmartPointer - +
SmartPointerForwardReference - +
SmartRegionNeighborhoodIterator - +
SupervisedClassifier - +
TetrahedronCell - +
TimeStamp - +
TriangleCell - +
UnsupervisedClassifier - +
UpwindDerivativeFunction - + (is this different from the Operators?)
ValarrayImageContainer - +
Vector - +
VectorComponentDataAccessor - +
VectorContainer - +
Version - +
VertexCell - +
Win32Header - +
Win32OutputWindow - +
WriteImage - ImageWriter
WriteRawImage - RawImageWriter
WriteVTKImage - VTKImageWriter
Writer - +