[Insight-developers] PixelTraits, ScalarTraits, VectorTraits, Scalar, ScalarImageRegio nIterator have been removed

Miller, James V (CRD) millerjv@crd.ge.com
Mon, 16 Jul 2001 13:07:26 -0400


As discussed at the Seattle meeting, I have removed PixelTraits from the system.  I have modified all
the code in Code and Testing that used ScalarTraits or Scalar.  I modified as much of the Examples as
I could but many examples DO NOT BUILD on VC++ (most of these problems are in the MetaImage class).

Here are the types of changes that I made:

1) Any use itk::Scalar was removed.
2) itk::Image::ScalarValueType was removed.  Reference to this type were changed to:
      a) Image::PixelType if a filter was to assume the data was scalar quantities
      b) PixelType::ValueType if a filter was operating on vector data and needed to create a scalar
            the same type as an element of the vector (i.e. float, int, etc.)
      c) double - in some places ScalarValueType was being used for items that seemed to 
            better served by a double.  Examples are the ConductanceParameter and TimeStepType
            in the anisotropic diffusion code.

In at least two of the files, I added a "Requirements" section to the header.  I used this to
indicate that a PixelType had to define a typedef ValueType in order to be used by this filter.  We
should probably develop a standard way of documenting these requirments and have them called out by
doxygen.


Other notes:

Examples/OperatingRoom uses a CMake module FindGLU.cmake that is not in the repository.

Below is a list of files that I modified.  I suggest using cvsweb to see the differences in the files
that I changed.  If there is a change that someone does not agree with, either let me know your
concern or you feel free to fix it yourself.

CVS LOG
-------------------------------------------------------------


FIX: Removed PixelTraits, ScalarTraits, VectorTraits, Scalar, and ScalarImageRegionIterator
     from the system.  Filters that process scalar data can now assume that the input and 
     output images will behave like scalar images.  This can either be accomplished via
     operator overloading on the pixel type or via the used of an ImageAdapter.


CVS: ----------------------------------------------------------------------
CVS: Enter Log.  Lines beginning with `CVS:' are removed automatically
CVS: 
CVS: Committing in .
CVS: 
CVS: Modified Files:
CVS: 	Code/Algorithms/itkCurvatureFlowImageFilter.txx 
CVS: 	Code/Algorithms/itkExtensionVelocitiesImageFilter.txx 
CVS: 	Code/Algorithms/itkFastMarchingExtensionImageFilter.txx 
CVS: 	Code/Algorithms/itkFastMarchingImageFilter.h 
CVS: 	Code/Algorithms/itkFastMarchingImageFilter.txx 
CVS: 	Code/Algorithms/itkFuzzyConnectednessImageFilter.h 
CVS: 	Code/Algorithms/itkFuzzyConnectednessRGBImageFilter.h 
CVS: 	Code/Algorithms/itkGeodesicActiveContourImageFilter.txx 
CVS: 	Code/Algorithms/itkKLMRegionGrowImageFilter.txx 
CVS: 	Code/Algorithms/itkLevelSet.h 
CVS: 	Code/Algorithms/itkLevelSetNeighborhoodExtractor.h 
CVS: 	Code/Algorithms/itkLevelSetNeighborhoodExtractor.txx 
CVS: 	Code/Algorithms/itkLevelSetVelocityNeighborhoodExtractor.txx 
CVS: 	Code/Algorithms/itkReinitializeLevelSetImageFilter.txx 
CVS: 	Code/Algorithms/itkRelabelWatershedImageFilter.h 
CVS: 	Code/Algorithms/itkShapeDetectionLevelSetFilter.txx 
CVS: 	Code/Algorithms/itkVectorFuzzyConnectednessImageFilter.h 
CVS: 	Code/Algorithms/itkWatershedImageFilter.h 
CVS: 	Code/BasicFilters/itkAnisotropicDiffusionEquation.h 
CVS: 	Code/BasicFilters/itkAnisotropicDiffusionImageFilter.h 
CVS: 	Code/BasicFilters/itkAnisotropicDiffusionImageFilter.txx 
CVS: 	Code/BasicFilters/itkCurvature2DAnisotropicDiffusionEquation.h 
CVS: 	Code/BasicFilters/itkGradient2DAnisotropicDiffusionEquation.h 
CVS: 	Code/BasicFilters/itkGradientNDAnisotropicDiffusionEquation.h 
CVS: 	Code/BasicFilters/itkGradientNDAnisotropicDiffusionEquation.txx 
CVS: 	Code/BasicFilters/itkGradientToMagnitudeImageFilter.txx 
CVS: 	Code/BasicFilters/itkRandomImageSource.h 
CVS: 	Code/BasicFilters/itkRandomImageSource.txx 
CVS: 	Code/BasicFilters/itkRawImageWriter.txx 
CVS: 	Code/BasicFilters/itkSpatialFunctionImageEvaluatorFilter.txx 
CVS: 	Code/BasicFilters/itkVTKImageWriter.txx 
CVS: 	Code/BasicFilters/itkVectorAnisotropicDiffusionEquation.h 
CVS: 	Code/BasicFilters/itkVectorAnisotropicDiffusionEquation.txx 
CVS: 	Code/BasicFilters/itkVectorGradient2DAnisotropicDiffusionEquation.h 
CVS: 	Code/BasicFilters/itkVectorGradient2DAnisotropicDiffusionEquation.txx 
CVS: 	Code/Common/itkBackwardDifferenceOperator.h 
CVS: 	Code/Common/itkBackwardDifferenceOperator.txx 
CVS: 	Code/Common/itkBloxImage.h Code/Common/itkBloxPixel.h 
CVS: 	Code/Common/itkConstNeighborhoodIterator.h 
CVS: 	Code/Common/itkConstRandomAccessNeighborhoodIterator.h 
CVS: 	Code/Common/itkConstSmartNeighborhoodIterator.h 
CVS: 	Code/Common/itkConstantBoundaryCondition.h 
CVS: 	Code/Common/itkDerivativeOperator.h 
CVS: 	Code/Common/itkDerivativeOperator.txx 
CVS: 	Code/Common/itkFiniteDifferenceEquation.h 
CVS: 	Code/Common/itkForwardDifferenceOperator.h 
CVS: 	Code/Common/itkForwardDifferenceOperator.txx 
CVS: 	Code/Common/itkImage.h Code/Common/itkNeighborhoodIterator.h 
CVS: 	Code/Common/itkNeighborhoodOperator.h 
CVS: 	Code/Common/itkPhysicalImage.h 
CVS: 	Code/Common/itkRandomAccessNeighborhoodIterator.h 
CVS: 	Code/Common/itkSmartNeighborhoodIterator.h 
CVS: 	Testing/Code/Algorithms/CMakeLists.txt 
CVS: 	Testing/Code/Algorithms/itkCurvatureFlowTest.cxx 
CVS: 	Testing/Code/Algorithms/itkDeformableTest.cxx 
CVS: 	Testing/Code/Algorithms/itkFastMarchingTest.cxx 
CVS: 	Testing/Code/Algorithms/itkGeodesicActiveContoursTest.cxx 
CVS: 	Testing/Code/Algorithms/itkGibbsTest.cxx 
CVS: 	Testing/Code/Algorithms/itkLevelSetShapeDetectionTest.cxx 
CVS: 	Testing/Code/Algorithms/itkMRFLabellerTest.cxx 
CVS: 	Testing/Code/Algorithms/itkRegionGrow2DTest.cxx 
CVS: 	Testing/Code/Algorithms/itkSupervisedClassifierTest.cxx 
CVS: 	Testing/Code/Algorithms/itkUnsupervisedClassifierTest.cxx 
CVS: 	Testing/Code/BasicFilters/itkBasicArchitectureTest.cxx 
CVS: 	Testing/Code/BasicFilters/itkCyclicReferences.cxx 
CVS: 	Testing/Code/BasicFilters/itkResampleImageTest.cxx 
CVS: 	Testing/Code/BasicFilters/itkShrinkImageTest.cxx 
CVS: 	Testing/Code/BasicFilters/itkThresholdImageFilterTest.cxx 
CVS: 	Testing/Code/Common/CMakeLists.txt 
CVS: 	Testing/Code/Common/itkCommonHeaderTest.cxx 
CVS: 	Testing/Code/Common/itkDataTypeTest.cxx 
CVS: 	Testing/Code/Common/itkImageAdaptorTest.cxx 
CVS: 	Testing/Code/Common/itkImageIteratorTest.cxx 
CVS: 	Testing/Code/Common/itkIteratorTests.cxx 
CVS: 	Testing/Code/Common/itkNeighborhoodIteratorTestCommon.txx 
CVS: 	Testing/Code/Common/itkPixelAccessTest.cxx 
CVS: 	Unsupported/MetaImage/itkWriteMetaImage.cxx 
CVS: Removed Files:
CVS: 	Code/Common/itkPixelTraits.h Code/Common/itkScalar.h 
CVS: 	Code/Common/itkScalarImageRegionIterator.h 
CVS: 	Testing/Code/Algorithms/itkTraitsTest.cxx 
CVS: ----------------------------------------------------------------------


Jim Miller
_____________________________________
Visualization & Computer Vision 
GE Corporate Research & Development
Bldg. KW, Room C218B
P.O. Box 8, Schenectady NY 12301

millerjv@crd.ge.com <mailto:millerjv@crd.ge.com> 
(518) 387-4005, Dial Comm: 8*833-4005, 
Cell: (518) 505-7065, Fax: (518) 387-6981


 <<Miller, James V (CRD).vcf>> 

begin 600 Miller, James V (CRD).vcf
M0D5'24XZ5D-!4D0-"E9%4E-)3TXZ,BXQ#0I..DUI;&QE<CM*86UE<PT*1DXZ
M36EL;&5R+"!*86UE<R!6("A#4D0I#0I/4D<Z0U)$.T533`T*5$E43$4Z0V]M
M<'5T97(@4V-I96YT:7-T#0I414P[5T]22SM63TE#13HJ.#,S+30P,#4-"E1%
M3#M73U)+.U9/24-%.C$@-3$X(#,X-RTT,#`U#0I!1%([5T]22SH[2U<M0S(Q
M.$([4"Y/+B!";W@@.#M38VAE;F5C=&%D>3M.97<@66]R:SLQ,C,P,3M54T$-
M"DQ!0D5,.U=/4DL[14Y#3T1)3D<]455/5$5$+5!224Y404),13I+5RU#,C$X
M0CTP1#TP05`N3RX@0F]X(#@],$0],$%38VAE;F5C=&%D>2P@3F5W(%EO<FL@
M,3(S,#$],$0],$%54T$-"D5-04E,.U!2148[24Y415).150Z;6EL;&5R:G9`
M8W)D+F=E+F-O;0T*4D56.C(P,#$P-#(P5#$T,#,R.5H-"D5.1#I60T%21`T*
`
end