VTK
|
Write NIfTI-1 and NIfTI-2 medical image files. More...
#include <vtkNIFTIImageWriter.h>
Write NIfTI-1 and NIfTI-2 medical image files.
This class writes NIFTI files, either in .nii format or as separate .img and .hdr files. If told to write a file that ends in ".gz", then the writer will automatically compress the file with zlib. Images of type unsigned char that have 3 or 4 scalar components will automatically be written as RGB or RGBA respectively. Images of type float or double that have 2 components will automatically be written as complex values.
Definition at line 44 of file vtkNIFTIImageWriter.h.
Static method for construction.
Reimplemented from vtkImageWriter.
Definition at line 50 of file vtkNIFTIImageWriter.h.
vtkNIFTIImageWriter::vtkNIFTIImageWriter | ( | ) | [protected] |
vtkNIFTIImageWriter::~vtkNIFTIImageWriter | ( | ) | [protected] |
static vtkNIFTIImageWriter* vtkNIFTIImageWriter::New | ( | ) | [static] |
Static method for construction.
Reimplemented from vtkImageWriter.
static int vtkNIFTIImageWriter::IsTypeOf | ( | const char * | type | ) | [static] |
Static method for construction.
Reimplemented from vtkImageWriter.
virtual int vtkNIFTIImageWriter::IsA | ( | const char * | type | ) | [virtual] |
Static method for construction.
Reimplemented from vtkImageWriter.
static vtkNIFTIImageWriter* vtkNIFTIImageWriter::SafeDownCast | ( | vtkObjectBase * | o | ) | [static] |
Static method for construction.
Reimplemented from vtkImageWriter.
virtual vtkObjectBase* vtkNIFTIImageWriter::NewInstanceInternal | ( | ) | const [protected, virtual] |
Static method for construction.
Reimplemented from vtkImageWriter.
Static method for construction.
Reimplemented from vtkImageWriter.
virtual void vtkNIFTIImageWriter::PrintSelf | ( | ostream & | os, |
vtkIndent | indent | ||
) | [virtual] |
Print information about this object.
Reimplemented from vtkImageWriter.
virtual void vtkNIFTIImageWriter::SetNIFTIVersion | ( | int | ) | [virtual] |
Set the version number for the NIfTI file format to use. This can be 1, 2, or 0 (the default). If set to zero, then it will save as NIfTI version 1 unless SetNIFTIHeader() provided header information from a NIfTI version 2 file.
virtual int vtkNIFTIImageWriter::GetNIFTIVersion | ( | ) | [virtual] |
Set the version number for the NIfTI file format to use. This can be 1, 2, or 0 (the default). If set to zero, then it will save as NIfTI version 1 unless SetNIFTIHeader() provided header information from a NIfTI version 2 file.
virtual void vtkNIFTIImageWriter::SetDescription | ( | const char * | ) | [virtual] |
Set a short description (max 80 chars) of how the file was produced. The default description is "VTKX.Y" where X.Y is the VTK version.
virtual char* vtkNIFTIImageWriter::GetDescription | ( | ) | [virtual] |
Set a short description (max 80 chars) of how the file was produced. The default description is "VTKX.Y" where X.Y is the VTK version.
virtual int vtkNIFTIImageWriter::GetTimeDimension | ( | ) | [virtual] |
Set the time dimension to use in the NIFTI file (or zero if none). The number of components of the input data must be divisible by the time dimension if the time dimension is not set to zero. The vector dimension will be set to the number of components divided by the time dimension.
virtual void vtkNIFTIImageWriter::SetTimeDimension | ( | int | ) | [virtual] |
Set the time dimension to use in the NIFTI file (or zero if none). The number of components of the input data must be divisible by the time dimension if the time dimension is not set to zero. The vector dimension will be set to the number of components divided by the time dimension.
virtual double vtkNIFTIImageWriter::GetTimeSpacing | ( | ) | [virtual] |
Set the time dimension to use in the NIFTI file (or zero if none). The number of components of the input data must be divisible by the time dimension if the time dimension is not set to zero. The vector dimension will be set to the number of components divided by the time dimension.
virtual void vtkNIFTIImageWriter::SetTimeSpacing | ( | double | ) | [virtual] |
Set the time dimension to use in the NIFTI file (or zero if none). The number of components of the input data must be divisible by the time dimension if the time dimension is not set to zero. The vector dimension will be set to the number of components divided by the time dimension.
virtual void vtkNIFTIImageWriter::SetRescaleSlope | ( | double | ) | [virtual] |
Set the slope and intercept for calibrating the scalar values. Other programs that read the NIFTI file can use the equation v = u*RescaleSlope + RescaleIntercept to rescale the data to real values. If both the slope and the intercept are zero, then the SclSlope and SclIntercept in the header info provided via SetNIFTIHeader() are used instead.
virtual double vtkNIFTIImageWriter::GetRescaleSlope | ( | ) | [virtual] |
Set the slope and intercept for calibrating the scalar values. Other programs that read the NIFTI file can use the equation v = u*RescaleSlope + RescaleIntercept to rescale the data to real values. If both the slope and the intercept are zero, then the SclSlope and SclIntercept in the header info provided via SetNIFTIHeader() are used instead.
virtual void vtkNIFTIImageWriter::SetRescaleIntercept | ( | double | ) | [virtual] |
Set the slope and intercept for calibrating the scalar values. Other programs that read the NIFTI file can use the equation v = u*RescaleSlope + RescaleIntercept to rescale the data to real values. If both the slope and the intercept are zero, then the SclSlope and SclIntercept in the header info provided via SetNIFTIHeader() are used instead.
virtual double vtkNIFTIImageWriter::GetRescaleIntercept | ( | ) | [virtual] |
Set the slope and intercept for calibrating the scalar values. Other programs that read the NIFTI file can use the equation v = u*RescaleSlope + RescaleIntercept to rescale the data to real values. If both the slope and the intercept are zero, then the SclSlope and SclIntercept in the header info provided via SetNIFTIHeader() are used instead.
virtual void vtkNIFTIImageWriter::SetQFac | ( | double | ) | [virtual] |
The QFac sets the ordering of the slices in the NIFTI file. If QFac is -1, then the slice ordering in the file will be reversed as compared to VTK. Use with caution.
virtual double vtkNIFTIImageWriter::GetQFac | ( | ) | [virtual] |
The QFac sets the ordering of the slices in the NIFTI file. If QFac is -1, then the slice ordering in the file will be reversed as compared to VTK. Use with caution.
void vtkNIFTIImageWriter::SetQFormMatrix | ( | vtkMatrix4x4 * | ) |
Set the "qform" orientation and offset for the image data. The 3x3 portion of the matrix must be orthonormal and have a positive determinant, it will be used to compute the quaternion. The last column of the matrix will be used for the offset. In the NIFTI header, the qform_code will be set to 1.
vtkMatrix4x4* vtkNIFTIImageWriter::GetQFormMatrix | ( | ) | [inline] |
Set the "qform" orientation and offset for the image data. The 3x3 portion of the matrix must be orthonormal and have a positive determinant, it will be used to compute the quaternion. The last column of the matrix will be used for the offset. In the NIFTI header, the qform_code will be set to 1.
Definition at line 112 of file vtkNIFTIImageWriter.h.
void vtkNIFTIImageWriter::SetSFormMatrix | ( | vtkMatrix4x4 * | ) |
Set a matrix for the "sform" transformation stored in the file. Unlike the qform matrix, the sform matrix can contain scaling information. Before being stored in the NIFTI header, the first three columns of the matrix will be multipled by the voxel spacing. In the NIFTI header, the sform_code will be set to 2.
vtkMatrix4x4* vtkNIFTIImageWriter::GetSFormMatrix | ( | ) | [inline] |
Set a matrix for the "sform" transformation stored in the file. Unlike the qform matrix, the sform matrix can contain scaling information. Before being stored in the NIFTI header, the first three columns of the matrix will be multipled by the voxel spacing. In the NIFTI header, the sform_code will be set to 2.
Definition at line 122 of file vtkNIFTIImageWriter.h.
void vtkNIFTIImageWriter::SetNIFTIHeader | ( | vtkNIFTIImageHeader * | hdr | ) |
Set the NIFTI header information to use when writing the file. The data dimensions and pixdim from the supplied header will be ignored. Likewise, the QForm and SForm information in the supplied header will be ignored if you have called SetQFormMatrix() or SetSFormMatrix() to provide the orientation information for the file.
Set the NIFTI header information to use when writing the file. The data dimensions and pixdim from the supplied header will be ignored. Likewise, the QForm and SForm information in the supplied header will be ignored if you have called SetQFormMatrix() or SetSFormMatrix() to provide the orientation information for the file.
int vtkNIFTIImageWriter::GenerateHeader | ( | vtkInformation * | info, |
bool | singleFile | ||
) | [protected] |
Generate the header information for the file.
virtual int vtkNIFTIImageWriter::RequestData | ( | vtkInformation * | request, |
vtkInformationVector ** | inputVector, | ||
vtkInformationVector * | outputVector | ||
) | [protected, virtual] |
The main execution method, which writes the file.
Reimplemented from vtkImageWriter.
static char* vtkNIFTIImageWriter::ReplaceExtension | ( | const char * | fname, |
const char * | ext1, | ||
const char * | ext2 | ||
) | [static, protected] |
Make a new filename by replacing extension "ext1" with "ext2". The extensions must include a period, must be three characters long, and must be lower case. A new string is returned that must be deleted by the caller.
int vtkNIFTIImageWriter::TimeDimension [protected] |
The size and spacing of the Time dimension to use in the file.
Definition at line 160 of file vtkNIFTIImageWriter.h.
double vtkNIFTIImageWriter::TimeSpacing [protected] |
The size and spacing of the Time dimension to use in the file.
Definition at line 161 of file vtkNIFTIImageWriter.h.
double vtkNIFTIImageWriter::RescaleIntercept [protected] |
Information for rescaling data to quantitative units.
Definition at line 166 of file vtkNIFTIImageWriter.h.
double vtkNIFTIImageWriter::RescaleSlope [protected] |
Information for rescaling data to quantitative units.
Definition at line 167 of file vtkNIFTIImageWriter.h.
double vtkNIFTIImageWriter::QFac [protected] |
Is -1 if VTK slice order is opposite to NIFTI slice order, +1 otherwise.
Definition at line 172 of file vtkNIFTIImageWriter.h.
vtkMatrix4x4* vtkNIFTIImageWriter::QFormMatrix [protected] |
The orientation matrices for the NIFTI file.
Definition at line 176 of file vtkNIFTIImageWriter.h.
vtkMatrix4x4* vtkNIFTIImageWriter::SFormMatrix [protected] |
The orientation matrices for the NIFTI file.
Definition at line 177 of file vtkNIFTIImageWriter.h.
char* vtkNIFTIImageWriter::Description [protected] |
A description of how the file was produced.
Definition at line 181 of file vtkNIFTIImageWriter.h.
vtkNIFTIImageHeader* vtkNIFTIImageWriter::NIFTIHeader [protected] |
The header information.
Definition at line 185 of file vtkNIFTIImageWriter.h.
vtkNIFTIImageHeader* vtkNIFTIImageWriter::OwnHeader [protected] |
The header information.
Definition at line 186 of file vtkNIFTIImageWriter.h.
int vtkNIFTIImageWriter::NIFTIVersion [protected] |
The header information.
Definition at line 187 of file vtkNIFTIImageWriter.h.