/*=========================================================================
Program: vv
Module: $RCSfile: vvImage.h,v $
Language: C++
Date: $Date: 2010/01/29 07:27:45 $
Version: $Revision: 1.3 $
Author : Pierre Seroul (pierre.seroul@gmail.com)
Copyright (C) 2008
Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr
CREATIS-LRMN http://www.creatis.insa-lyon.fr
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, version 3 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
=========================================================================*/
#ifndef VVIMAGE_H
#define VVIMAGE_H
#include
#include
#include
class vtkImageData;
class vvImage : public itk::LightObject {
public :
typedef vvImage Self;
typedef itk::SmartPointer Pointer;
itkNewMacro(Self);
void Init();
void SetImage(std::vector images);
void AddImage(vtkImageData* image);
const std::vector& GetVTKImages();
vtkImageData* GetFirstVTKImageData();
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 GetSpacing();
std::vector GetOrigin() const;
std::vector GetSize();
std::string GetScalarTypeAsString();
int GetNumberOfScalarComponents();
int GetScalarSize();
bool IsTimeSequence();
bool IsScalarTypeInteger();
bool IsScalarTypeInteger(int t);
private:
vvImage();
~vvImage();
std::vector mVtkImages;
};
#endif