[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 - +