VTK
vtkTIFFReader.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkTIFFReader.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
32#ifndef vtkTIFFReader_h
33#define vtkTIFFReader_h
34
35#include "vtkImageReader2.h"
36
37class VTKIOIMAGE_EXPORT vtkTIFFReader : public vtkImageReader2
38{
39public:
40 static vtkTIFFReader *New();
42 void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
43
47 virtual int CanReadFile(const char* fname);
48
54 virtual const char* GetFileExtensions()
55 {
56 return ".tif .tiff";
57 }
58
63 virtual const char* GetDescriptiveName()
64 {
65 return "TIFF";
66 }
67
80 void SetOrientationType(unsigned int orientationType);
81 vtkGetMacro(OrientationType, unsigned int)
82
83 //@{
87 vtkGetMacro(OrientationTypeSpecifiedFlag, bool)
89
91
94 vtkSetMacro(OriginSpecifiedFlag, bool)
95 vtkGetMacro(OriginSpecifiedFlag, bool)
96 vtkBooleanMacro(OriginSpecifiedFlag, bool)
98
100
103 vtkSetMacro(SpacingSpecifiedFlag, bool)
104 vtkGetMacro(SpacingSpecifiedFlag, bool)
105 vtkBooleanMacro(SpacingSpecifiedFlag, bool)
107
108protected:
111
112 enum { NOFORMAT, RGB, GRAYSCALE, PALETTE_RGB, PALETTE_GRAYSCALE, OTHER };
113
114 virtual void ExecuteInformation();
116
117private:
118 vtkTIFFReader(const vtkTIFFReader&) VTK_DELETE_FUNCTION;
119 void operator=(const vtkTIFFReader&) VTK_DELETE_FUNCTION;
120
124 template<typename T>
125 int EvaluateImageAt(T* out, T* in);
126
130 void GetColor(int index,
131 unsigned short *r, unsigned short *g, unsigned short *b);
132
133 // To support Zeiss images
134 void ReadTwoSamplesPerPixelImage(void *out,
135 unsigned int vtkNotUsed(width),
136 unsigned int height);
137
138 unsigned int GetFormat();
139
143 void Initialize();
144
148 template<typename T>
149 void ReadImageInternal(T* buffer);
150
154 template<typename T>
155 void ReadVolume(T* buffer);
156
160 void ReadTiles(void* buffer);
161
165 template<typename T>
166 void ReadGenericImage(T* out, unsigned int width, unsigned int height);
167
171 template <typename T>
172 void Process(T *outPtr, int outExtent[6], vtkIdType outIncr[3]);
173
177 template <typename T>
178 void Process2(T *outPtr, int *outExt);
179
180 class vtkTIFFReaderInternal;
181
182 unsigned short *ColorRed;
183 unsigned short *ColorGreen;
184 unsigned short *ColorBlue;
185 int TotalColors;
186 unsigned int ImageFormat;
187 vtkTIFFReaderInternal *InternalImage;
188 int OutputExtent[6];
189 vtkIdType OutputIncrements[3];
190 unsigned int OrientationType;
191 bool OrientationTypeSpecifiedFlag;
192 bool OriginSpecifiedFlag;
193 bool SpacingSpecifiedFlag;
194};
195
196#endif
general representation of visualization data
Definition: vtkDataObject.h:65
Superclass of binary file readers.
a simple class to control print indentation
Definition: vtkIndent.h:40
Store vtkAlgorithm input/output information.
read TIFF files
Definition: vtkTIFFReader.h:38
virtual const char * GetDescriptiveName()
Return a descriptive name for the file format that might be useful in a GUI.
Definition: vtkTIFFReader.h:63
virtual void ExecuteDataWithInformation(vtkDataObject *out, vtkInformation *outInfo)
This is a convenience method that is implemented in many subclasses instead of RequestData.
virtual void ExecuteInformation()
void SetOrientationType(unsigned int orientationType)
Set orientation type ORIENTATION_TOPLEFT 1 (row 0 top, col 0 lhs) ORIENTATION_TOPRIGHT 2 (row 0 top,...
static vtkTIFFReader * New()
@ height
Definition: vtkX3D.h:254
@ index
Definition: vtkX3D.h:246
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
int vtkIdType
Definition: vtkType.h:287