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