#include <vector>
#include <itkObjectFactory.h>
#include <itkProcessObject.h>
+#include <itkMinimumMaximumImageCalculator.h>
+#include <itkCastImageFilter.h>
#define VTK_EXCLUDE_STRSTREAM_HEADERS
#include <vtkSmartPointer.h>
typedef itk::SmartPointer<Self> Pointer;
typedef itk::ProcessObject::Pointer ConverterPointer;
itkNewMacro(Self);
+
+ struct DimensionDispatchBase {};
+ template< unsigned int VDimension >
+ struct DimensionDispatch:public DimensionDispatchBase {};
void Init();
void Reset();
int GetNumberOfDimensions() const;
int GetNumberOfSpatialDimensions();
void GetScalarRange(double* range);
+ template<class TPixelType, unsigned int VImageDimension> void ComputeScalarRangeBase(itk::Image<TPixelType,VImageDimension> *input);
+ template<class TPixelType, unsigned int VImageDimension> void ComputeScalarRange(DimensionDispatchBase, itk::Image<TPixelType,VImageDimension> *input);
+ template<class TPixelType, unsigned int VImageDimension> void ComputeScalarRange(DimensionDispatch< 1 >, itk::Image<TPixelType,VImageDimension> *input);
unsigned long GetActualMemorySize();
std::vector<double> GetSpacing();
std::vector<double> GetOrigin() const;
double mTimeOrigin;
double mTimeSpacing;
unsigned int mImageDimension;
+ double mrange[2];
};
//------------------------------------------------------------------------------