# Remove MSVS Hack For GetImageDimension

Hans Johnson
2012-10-30
Remove unnecessary function GetImageDimension Historical bug in MSVC required a work around, an enum value cannot be accessed out of a template parameter until the template class opens. In order for templated classes to access the dimension of an image template parameter in defining their own dimension, this class is needed as a work-around.

This old version of MSVC is no longer supported, so this work around is no longer needed. Using the standard C++ syntax improves code maintenance
Image< IdentifierType, ::itk::GetImageDimension< TInputImage >::ImageDimension > >
Image< IdentifierType, TInputImage::ImageDimension > >
I2ef9c40596343006d37fc8915b152add6a392ee6
Modules/Compatibility/Deprecated/include/itkCompose2DCovariantVectorImageFilter.h Modules/Compatibility/Deprecated/include/itkCompose2DVectorImageFilter.h Modules/Compatibility/Deprecated/include/itkCompose3DCovariantVectorImageFilter.h Modules/Compatibility/Deprecated/include/itkCompose3DVectorImageFilter.h Modules/Compatibility/Deprecated/include/itkComposeRGBImageFilter.h Modules/Compatibility/V3Compatibility/include/itkDeformationFieldJacobianDeterminantFilter.h Modules/Compatibility/V3Compatibility/include/itkImageToVectorImageFilter.h Modules/Core/Common/include/itkBinaryThresholdSpatialFunction.h Modules/Core/Common/include/itkImageBase.h Modules/Core/Common/include/itkImageRandomNonRepeatingConstIteratorWithIndex.h Modules/Core/Common/include/itkNeighborhoodAlgorithm.h Modules/Core/Common/include/itkVectorImageNeighborhoodAccessorFunctor.h Modules/Core/ImageAdaptors/include/itkImageAdaptor.h Modules/Core/ImageFunction/include/itkGaussianDerivativeImageFunction.h Modules/Filtering/BiasCorrection/include/itkN4BiasFieldCorrectionImageFilter.h Modules/Filtering/DisplacementField/include/itkDisplacementFieldJacobianDeterminantFilter.h Modules/Filtering/FastMarching/include/itkFastMarchingExtensionImageFilter.h Modules/Filtering/FastMarching/include/itkFastMarchingImageFilter.h Modules/Filtering/FastMarching/include/itkFastMarchingUpwindGradientImageFilter.h Modules/Filtering/ImageCompare/include/itkCheckerBoardImageFilter.h Modules/Filtering/ImageCompose/include/itkJoinImageFilter.h Modules/Filtering/ImageFeature/include/itkHessian3DToVesselnessMeasureImageFilter.h Modules/Filtering/ImageFeature/include/itkHessianRecursiveGaussianImageFilter.h Modules/Filtering/ImageGradient/include/itkDifferenceOfGaussiansGradientImageFilter.h Modules/Filtering/ImageGradient/include/itkGradientRecursiveGaussianImageFilter.h Modules/Filtering/ImageGradient/include/itkVectorGradientMagnitudeImageFilter.h Modules/Filtering/ImageGrid/include/itkSliceBySliceImageFilter.h Modules/Filtering/ImageStatistics/include/itkImagePCADecompositionCalculator.h Modules/Filtering/ImageStatistics/include/itkImagePCAShapeModelEstimator.h Modules/Filtering/ImageStatistics/include/itkImageShapeModelEstimatorBase.h Modules/Filtering/LabelMap/include/itkBinaryImageToLabelMapFilter.h Modules/Filtering/LabelMap/include/itkBinaryImageToShapeLabelMapFilter.h Modules/Filtering/LabelMap/include/itkBinaryImageToStatisticsLabelMapFilter.h Modules/Filtering/LabelMap/include/itkLabelImageToLabelMapFilter.h Modules/Filtering/LabelMap/include/itkLabelImageToShapeLabelMapFilter.h Modules/Filtering/LabelMap/include/itkLabelImageToStatisticsLabelMapFilter.h Modules/Filtering/LabelMap/include/itkLabelMap.h Modules/Filtering/LabelMap/include/itkObjectByObjectLabelMapFilter.h Modules/Filtering/LabelMap/include/itkShapeLabelMapFilter.h Modules/Filtering/LabelMap/include/itkStatisticsLabelMapFilter.h Modules/Nonunit/Review/include/itkDiscreteHessianGaussianImageFunction.h Modules/Nonunit/Review/include/itkFastApproximateRankImageFilter.h Modules/Nonunit/Review/include/itkHessianToObjectnessMeasureImageFilter.h Modules/Nonunit/Review/include/itkKappaSigmaThresholdImageFilter.h Modules/Nonunit/Review/include/itkMaskedRankImageFilter.h Modules/Nonunit/Review/include/itkMultiScaleHessianBasedMeasureImageFilter.h Modules/Nonunit/Review/include/itkRankImageFilter.h Modules/Nonunit/Review/include/itkStochasticFractalDimensionImageFilter.h Modules/Nonunit/Review/include/itkVectorCentralDifferenceImageFunction.h Modules/Numerics/Optimizersv4/test/itkRegistrationParameterScalesEstimatorTest.cxx Modules/Numerics/Optimizersv4/test/itkRegistrationParameterScalesFromIndexShiftTest.cxx Modules/Numerics/Optimizersv4/test/itkRegistrationParameterScalesFromJacobianTest.cxx Modules/Numerics/Optimizersv4/test/itkRegistrationParameterScalesFromPhysicalShiftTest.cxx Modules/Numerics/Statistics/include/itkScalarImageToRunLengthFeaturesFilter.hxx Modules/Numerics/Statistics/include/itkScalarImageToTextureFeaturesFilter.hxx Modules/Registration/Common/include/itkImageToImageMetric.h Modules/Registration/Metricsv4/include/itkANTSNeighborhoodCorrelationImageToImageMetricv4.h Modules/Registration/Metricsv4/include/itkCorrelationImageToImageMetricv4.h Modules/Registration/Metricsv4/include/itkDefaultImageToImageMetricTraitsv4.h Modules/Registration/Metricsv4/include/itkDemonsImageToImageMetricv4.h Modules/Registration/Metricsv4/include/itkJointHistogramMutualInformationImageToImageMetricv4.h Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4.h Modules/Registration/Metricsv4/include/itkMeanSquaresImageToImageMetricv4.h Modules/Registration/Metricsv4/include/itkVectorImageToImageMetricTraitsv4.h Modules/Registration/Metricsv4/test/itkImageToImageMetricv4Test.cxx Modules/Registration/Metricsv4/test/itkMetricImageGradientTest.cxx Modules/Segmentation/Classifiers/include/itkBayesianClassifierImageFilter.h Modules/Segmentation/Classifiers/include/itkBayesianClassifierInitializationImageFilter.h Modules/Segmentation/Classifiers/include/itkScalarImageKmeansImageFilter.h Modules/Segmentation/LevelSets/include/itkNarrowBandCurvesLevelSetImageFilter.h Modules/Segmentation/LevelSets/include/itkNarrowBandLevelSetImageFilter.h Modules/Segmentation/LevelSets/include/itkNarrowBandThresholdSegmentationLevelSetImageFilter.h Modules/Segmentation/LevelSets/include/itkSegmentationLevelSetImageFilter.h Modules/Segmentation/LevelSets/include/itkSparseFieldFourthOrderLevelSetImageFilter.h Modules/Segmentation/LevelSets/test/itkImplicitManifoldNormalVectorFilterTest.cxx Modules/Segmentation/Watersheds/include/itkTobogganImageFilter.h Modules/Segmentation/Watersheds/include/itkWatershedImageFilter.h Modules/Compatibility/V3Compatibility/include/itkDeformationFieldJacobianDeterminantFilter.h Modules/Core/ImageFunction/include/itkScatterMatrixImageFunction.hxx Modules/Filtering/DisplacementField/include/itkDisplacementFieldJacobianDeterminantFilter.h Modules/Filtering/ImageGradient/include/itkVectorGradientMagnitudeImageFilter.h Modules/Core/Common/include/itkPointSet.h Modules/Core/ImageFunction/include/itkVectorInterpolateImageFunction.h Modules/Core/Mesh/include/itkMesh.h Modules/Core/SpatialObjects/include/itkMeshSpatialObject.h Modules/Nonunit/Review/include/itkConformalFlatteningMeshFilter.h Modules/Nonunit/Review/include/itkVectorCentralDifferenceImageFunction.h Modules/Numerics/FEM/include/itkFEMPArray.h Modules/Numerics/Statistics/include/itkHistogram.h Modules/Registration/Common/include/itkEuclideanDistancePointMetric.h