1 /*=========================================================================
4 Module: $RCSfile: vvImage.h,v $
6 Date: $Date: 2010/01/29 07:27:45 $
7 Version: $Revision: 1.3 $
8 Author : Pierre Seroul (pierre.seroul@gmail.com)
11 Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr
12 CREATIS-LRMN http://www.creatis.insa-lyon.fr
14 This program is free software: you can redistribute it and/or modify
15 it under the terms of the GNU General Public License as published by
16 the Free Software Foundation, version 3 of the License.
18 This program is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 GNU General Public License for more details.
23 You should have received a copy of the GNU General Public License
24 along with this program. If not, see <http://www.gnu.org/licenses/>.
26 =========================================================================*/
32 #include <itkObjectFactory.h>
36 class vvImage : public itk::LightObject {
39 typedef itk::SmartPointer<Self> Pointer;
43 void SetImage(std::vector<vtkImageData*> images);
44 void AddImage(vtkImageData* image);
45 const std::vector<vtkImageData*>& GetVTKImages();
46 vtkImageData* GetFirstVTKImageData();
48 int GetNumberOfDimensions() const;
49 int GetNumberOfSpatialDimensions();
50 ///Writes the scalar range to the provided array, which must have room for two doubles
51 void GetScalarRange(double* range);
52 unsigned long GetActualMemorySize();
53 std::vector<double> GetSpacing();
54 std::vector<double> GetOrigin() const;
55 std::vector<int> GetSize();
56 std::string GetScalarTypeAsString();
57 int GetNumberOfScalarComponents();
59 bool IsTimeSequence();
60 bool IsScalarTypeInteger();
61 bool IsScalarTypeInteger(int t);
66 std::vector<vtkImageData*> mVtkImages;