- void Init();
- void SetImage(std::vector<vtkImageData*> images);
- void AddImage(vtkImageData* image);
- const std::vector<vtkImageData*>& GetVTKImages() {
- return mVtkImages;
- }
-
- int GetNumberOfDimensions() const;
- int GetNumberOfSpatialDimensions();
- ///Writes the scalar range to the provided array, which must have room for two doubles
- void GetScalarRange(double* range);
- unsigned long GetActualMemorySize();
- std::vector<double> GetSpacing();
- std::vector<double> GetOrigin() const;
- std::vector<int> GetSize();
- std::string GetScalarTypeAsString();
- int GetNumberOfScalarComponents();
- int GetScalarSize();
- bool IsTimeSequence() {
- return mVtkImages.size()>1;
- }
+ void Init();
+ void Reset();
+ template<class TItkImageType> void AddItkImage(TItkImageType *input);
+ void AddVtkImage(vtkImageData* input);
+ const std::vector<vtkImageData*>& GetVTKImages();
+ vtkImageData* GetFirstVTKImageData();
+ 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;
+ std::vector<int> GetSize();
+ std::vector< std::vector<double> > GetDirection();
+ std::string GetScalarTypeAsITKString();
+ int GetNumberOfScalarComponents();
+ int GetScalarSize();
+ bool IsTimeSequence() const;
+ bool IsScalarTypeInteger();
+ bool IsScalarTypeInteger(int t);
+ const std::vector< vtkSmartPointer<vtkTransform> >& GetTransform();
+ void InitializeTransform();
+ void SetTimeSpacing(double s) { mTimeSpacing = s; }
+ void SetTimeOrigin(double o) { mTimeOrigin = o; }
+ bool HaveSameSizeAndSpacingThan(vvImage * other);
+ //META DATA
+ itk::MetaDataDictionary* GetFirstMetaDataDictionary();