26 #ifndef vtkDICOMWriter_h
27 #define vtkDICOMWriter_h
29 #include "vtkImageWriter.h"
30 #include "vtkDICOMModule.h"
31 #include "vtkDICOMConfig.h"
34 #if defined(VTK_ABI_NAMESPACE_BEGIN)
35 VTK_ABI_NAMESPACE_BEGIN
40 #if defined(VTK_ABI_NAMESPACE_BEGIN)
56 void PrintSelf(ostream& os, vtkIndent indent) VTK_DICOM_OVERRIDE;
63 vtkSetStringMacro(SeriesDescription);
64 vtkGetStringMacro(SeriesDescription);
76 vtkSetStringMacro(ImageType);
77 vtkGetStringMacro(ImageType);
88 vtkSetMacro(TimeAsVector,
int);
89 vtkBooleanMacro(TimeAsVector,
int);
90 vtkGetMacro(TimeAsVector,
int);
102 vtkSetMacro(TimeDimension,
int);
103 vtkGetMacro(TimeDimension,
int);
104 vtkSetMacro(TimeSpacing,
double);
105 vtkGetMacro(TimeSpacing,
double);
116 vtkSetMacro(RescaleIntercept,
double);
117 vtkGetMacro(RescaleIntercept,
double);
118 vtkSetMacro(RescaleSlope,
double);
119 vtkGetMacro(RescaleSlope,
double);
129 vtkMatrix4x4 *GetPatientMatrix() {
return this->PatientMatrix; }
143 void SetMemoryRowOrderToFileNative() {
144 this->SetMemoryRowOrder(FileNative); }
145 void SetMemoryRowOrderToTopDown() {
146 this->SetMemoryRowOrder(TopDown); }
147 void SetMemoryRowOrderToBottomUp() {
148 this->SetMemoryRowOrder(BottomUp); }
149 int GetMemoryRowOrder() {
return this->MemoryRowOrder; }
150 const char *GetMemoryRowOrderAsString();
166 void SetFileSliceOrderToRHR() { this->SetFileSliceOrder(RHR); }
167 void SetFileSliceOrderToLHR() { this->SetFileSliceOrder(LHR); }
168 void SetFileSliceOrderToSame() { this->SetFileSliceOrder(Same); }
169 void SetFileSliceOrderToReverse() { this->SetFileSliceOrder(Reverse); }
170 int GetFileSliceOrder() {
return this->FileSliceOrder; }
171 const char *GetFileSliceOrderAsString();
204 vtkSetStringMacro(TransferSyntaxUID);
205 vtkGetStringMacro(TransferSyntaxUID);
216 vtkSetMacro(Streaming,
int);
217 vtkGetMacro(Streaming,
int);
218 vtkBooleanMacro(Streaming,
int);
222 void SetOverlayInputData(vtkImageData *data);
224 void SetOverlayInputConnection(vtkAlgorithmOutput *data);
225 vtkImageData *GetOverlayInput();
229 vtkSetMacro(OverlayType,
int);
231 vtkGetMacro(OverlayType,
int);
232 void SetOverlayTypeToGraphics() { this->SetOverlayType(0); }
233 void SetOverlayTypeToROI() { this->SetOverlayType(1); }
237 void Write() VTK_DICOM_OVERRIDE;
246 void ComputeInternalFileName(
int slice);
249 void FreeInternalFileName();
252 virtual
int GenerateMetaData(vtkInformation *info);
255 virtual
void GenerateOverlays(
int minFileIdx,
int maxFileIdx,
256 const
int extent[4]);
259 int FillInputPortInformation(
int port, vtkInformation *info) VTK_DICOM_OVERRIDE;
261 int RequestData(vtkInformation *request,
262 vtkInformationVector** inputVector,
263 vtkInformationVector* outputVector) VTK_DICOM_OVERRIDE;
282 double RescaleIntercept;
286 vtkMatrix4x4 *PatientMatrix;
289 char *SeriesDescription;
292 char *TransferSyntaxUID;
310 #ifdef VTK_DICOM_DELETE
Generate DICOM data series for specific IOD classes.
Definition: vtkDICOMGenerator.h:56
Write DICOM image files.
Definition: vtkDICOMWriter.h:48
static vtkDICOMWriter * New()
Static method for construction.
RowOrder
Enumeration for top-down vs. bottom-up ordering.
Definition: vtkDICOMWriter.h:133
void SetFileSliceOrder(int order)
Set the slice ordering of the files to be written.
void SetGenerator(vtkDICOMGenerator *)
Set the generator for image modality you wish to write.
void SetPatientMatrix(vtkMatrix4x4 *)
Set the matrix that places the image in DICOM patient coords.
void SetMetaData(vtkDICOMMetaData *)
Set the meta data to include with the file.
void SetMemoryRowOrder(int order)
Set the ordering of the image rows in memory.
void PrintSelf(ostream &os, vtkIndent indent) VTK_DICOM_OVERRIDE
Print information about this object.
SliceOrder
Enumeration for file order.
Definition: vtkDICOMWriter.h:154
Writes images to files.
Definition: vtkImageWriter.h:33