vtk-dicom
0.8.17
|
Write NIfTI-1 and NIfTI-2 medical image files. More...
#include <vtkNIFTIWriter.h>
Public Types | |
enum | EndianEnum { BigEndian = 0 , LittleEndian = 1 } |
Endianness of output file. | |
typedef vtkImageWriter | Superclass |
Public Types inherited from vtkImageWriter | |
typedef vtkImageAlgorithm | Superclass |
Public Types inherited from vtkImageAlgorithm | |
typedef vtkAlgorithm | Superclass |
Public Types inherited from vtkAlgorithm | |
enum | DesiredOutputPrecision { SINGLE_PRECISION , DOUBLE_PRECISION , DEFAULT_PRECISION } |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual vtkTypeBool | IsA (const char *type) |
vtkNIFTIWriter * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) VTK_DICOM_OVERRIDE |
Print information about this object. | |
virtual void | SetNIFTIVersion (int) |
Set the version number for the NIfTI file format to use. More... | |
virtual int | GetNIFTIVersion () |
virtual void | SetDescription (const char *) |
Set a short description (max 80 chars) of how the file was produced. | |
virtual char * | GetDescription () |
virtual int | GetTimeDimension () |
Set the time dimension to use in the NIFTI file (or zero if none). More... | |
virtual void | SetTimeDimension (int) |
virtual double | GetTimeSpacing () |
virtual void | SetTimeSpacing (double) |
virtual void | SetRescaleSlope (double) |
Set the slope and intercept for calibrating the scalar values. More... | |
virtual double | GetRescaleSlope () |
virtual void | SetRescaleIntercept (double) |
virtual double | GetRescaleIntercept () |
virtual bool | GetPlanarRGB () |
Write planar RGB (separate R, G, and B planes), rather than packed RGB. More... | |
virtual void | SetPlanarRGB (bool) |
virtual void | PlanarRGBOn () |
virtual void | PlanarRGBOff () |
virtual void | SetQFac (double) |
The QFac sets the ordering of the slices in the NIFTI file. More... | |
virtual double | GetQFac () |
void | SetQFormMatrix (vtkMatrix4x4 *) |
Set the "qform" orientation and offset for the image data. More... | |
vtkMatrix4x4 * | GetQFormMatrix () |
void | SetSFormMatrix (vtkMatrix4x4 *) |
Set a matrix for the "sform" transformation stored in the file. More... | |
vtkMatrix4x4 * | GetSFormMatrix () |
void | SetNIFTIHeader (vtkNIFTIHeader *hdr) |
Set the NIFTI header information to use when writing the file. More... | |
vtkNIFTIHeader * | GetNIFTIHeader () |
virtual void | SetDataByteOrder (EndianEnum) |
Set the byte order for the files (default: little endian). More... | |
void | SetDataByteOrderToBigEndian () |
void | SetDataByteOrderToLittleEndian () |
virtual EndianEnum | GetDataByteOrder () |
Public Member Functions inherited from vtkImageWriter | |
vtkImageWriter * | NewInstance () const |
virtual void | SetFileName (const char *) |
virtual char * | GetFileName () |
virtual void | SetFilePrefix (const char *) |
virtual char * | GetFilePrefix () |
virtual void | SetFilePattern (const char *) |
virtual char * | GetFilePattern () |
virtual void | SetFileDimensionality (int) |
virtual int | GetFileDimensionality () |
vtkImageData * | GetInput () |
virtual void | Write () |
void | DeleteFiles () |
Public Member Functions inherited from vtkImageAlgorithm | |
vtkImageAlgorithm * | NewInstance () const |
vtkImageData * | GetOutput () |
vtkImageData * | GetOutput (int) |
virtual void | SetOutput (vtkDataObject *d) |
int | ProcessRequest (vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE |
void | SetInputData (vtkDataObject *) |
void | SetInputData (int, vtkDataObject *) |
vtkDataObject * | GetInput (int port) |
vtkDataObject * | GetInput () |
vtkImageData * | GetImageDataInput (int port) |
virtual void | AddInputData (vtkDataObject *) |
virtual void | AddInputData (int, vtkDataObject *) |
Public Member Functions inherited from vtkAlgorithm | |
vtkAlgorithm * | NewInstance () const |
int | HasExecutive () |
vtkExecutive * | GetExecutive () |
virtual void | SetExecutive (vtkExecutive *executive) |
int | ProcessRequest (vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo) |
virtual int | ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, vtkMTimeType *mtime) |
virtual int | ModifyRequest (vtkInformation *request, int when) |
vtkInformation * | GetInputPortInformation (int port) |
vtkInformation * | GetOutputPortInformation (int port) |
virtual vtkInformation * | GetInformation () |
virtual void | SetInformation (vtkInformation *) |
int | GetNumberOfInputPorts () |
int | GetNumberOfOutputPorts () |
void | Register (vtkObjectBase *o) VTK_OVERRIDE |
void | UnRegister (vtkObjectBase *o) VTK_OVERRIDE |
virtual void | SetAbortExecute (int) |
virtual int | GetAbortExecute () |
virtual void | AbortExecuteOn () |
virtual void | AbortExecuteOff () |
virtual void | SetProgress (double) |
virtual double | GetProgress () |
void | UpdateProgress (double amount) |
void | SetProgressText (const char *ptext) |
virtual char * | GetProgressText () |
virtual unsigned long | GetErrorCode () |
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, const char *name) |
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, int fieldAttributeType) |
virtual void | SetInputArrayToProcess (int idx, vtkInformation *info) |
virtual void | SetInputArrayToProcess (int idx, int port, int connection, const char *fieldAssociation, const char *attributeTypeorName) |
vtkInformation * | GetInputArrayInformation (int idx) |
void | RemoveAllInputs () |
vtkDataObject * | GetOutputDataObject (int port) |
vtkDataObject * | GetInputDataObject (int port, int connection) |
virtual void | SetInputConnection (int port, vtkAlgorithmOutput *input) |
virtual void | SetInputConnection (vtkAlgorithmOutput *input) |
virtual void | AddInputConnection (int port, vtkAlgorithmOutput *input) |
virtual void | AddInputConnection (vtkAlgorithmOutput *input) |
virtual void | RemoveInputConnection (int port, vtkAlgorithmOutput *input) |
virtual void | RemoveInputConnection (int port, int idx) |
virtual void | RemoveAllInputConnections (int port) |
virtual void | SetInputDataObject (int port, vtkDataObject *data) |
virtual void | SetInputDataObject (vtkDataObject *data) |
virtual void | AddInputDataObject (int port, vtkDataObject *data) |
virtual void | AddInputDataObject (vtkDataObject *data) |
vtkAlgorithmOutput * | GetOutputPort (int index) |
vtkAlgorithmOutput * | GetOutputPort () |
int | GetNumberOfInputConnections (int port) |
int | GetTotalNumberOfInputConnections () |
vtkAlgorithmOutput * | GetInputConnection (int port, int index) |
vtkAlgorithm * | GetInputAlgorithm (int port, int index, int &algPort) |
vtkAlgorithm * | GetInputAlgorithm (int port, int index) |
vtkAlgorithm * | GetInputAlgorithm () |
vtkExecutive * | GetInputExecutive (int port, int index) |
vtkExecutive * | GetInputExecutive () |
vtkInformation * | GetInputInformation (int port, int index) |
vtkInformation * | GetInputInformation () |
vtkInformation * | GetOutputInformation (int port) |
virtual void | Update (int port) |
virtual void | Update () |
virtual int | Update (int port, vtkInformationVector *requests) |
virtual int | Update (vtkInformation *requests) |
virtual int | UpdatePiece (int piece, int numPieces, int ghostLevels, const int extents[6]=0) |
virtual int | UpdateExtent (const int extents[6]) |
virtual int | UpdateTimeStep (double time, int piece=-1, int numPieces=1, int ghostLevels=0, const int extents[6]=0) |
virtual void | UpdateInformation () |
virtual void | UpdateDataObject () |
virtual void | PropagateUpdateExtent () |
virtual void | UpdateWholeExtent () |
void | ConvertTotalInputToPortConnection (int ind, int &port, int &conn) |
virtual void | SetReleaseDataFlag (int) |
virtual int | GetReleaseDataFlag () |
void | ReleaseDataFlagOn () |
void | ReleaseDataFlagOff () |
int | UpdateExtentIsEmpty (vtkInformation *pinfo, vtkDataObject *output) |
int | UpdateExtentIsEmpty (vtkInformation *pinfo, int extentType) |
int | SetUpdateExtentToWholeExtent (int port) |
int | SetUpdateExtentToWholeExtent () |
void | SetUpdateExtent (int port, int piece, int numPieces, int ghostLevel) |
void | SetUpdateExtent (int piece, int numPieces, int ghostLevel) |
void | SetUpdateExtent (int port, int extent[6]) |
void | SetUpdateExtent (int extent[6]) |
int * | GetUpdateExtent () |
int * | GetUpdateExtent (int port) |
void | GetUpdateExtent (int &x0, int &x1, int &y0, int &y1, int &z0, int &z1) |
void | GetUpdateExtent (int port, int &x0, int &x1, int &y0, int &y1, int &z0, int &z1) |
void | GetUpdateExtent (int extent[6]) |
void | GetUpdateExtent (int port, int extent[6]) |
int | GetUpdatePiece () |
int | GetUpdatePiece (int port) |
int | GetUpdateNumberOfPieces () |
int | GetUpdateNumberOfPieces (int port) |
int | GetUpdateGhostLevel () |
int | GetUpdateGhostLevel (int port) |
void | SetProgressObserver (vtkProgressObserver *) |
virtual vtkProgressObserver * | GetProgressObserver () |
Public Member Functions inherited from vtkObject | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
virtual void | DebugOff () |
bool | GetDebug () |
void | SetDebug (bool debugFlag) |
virtual void | Modified () |
virtual vtkMTimeType | GetMTime () |
void | PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
virtual void | Delete () |
virtual void | FastDelete () |
void | InitializeObjectBase () |
void | Print (ostream &os) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
void | SetReferenceCount (int) |
void | PrintRevisions (ostream &) |
Static Public Member Functions | |
static vtkNIFTIWriter * | New () |
Static method for construction. | |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkNIFTIWriter * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkImageWriter | |
static vtkImageWriter * | New () |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkImageWriter * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkImageAlgorithm | |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkImageAlgorithm * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkAlgorithm | |
static vtkAlgorithm * | New () |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkAlgorithm * | SafeDownCast (vtkObjectBase *o) |
static vtkInformationIntegerKey * | INPUT_IS_OPTIONAL () |
static vtkInformationIntegerKey * | INPUT_IS_REPEATABLE () |
static vtkInformationInformationVectorKey * | INPUT_REQUIRED_FIELDS () |
static vtkInformationStringVectorKey * | INPUT_REQUIRED_DATA_TYPE () |
static vtkInformationInformationVectorKey * | INPUT_ARRAYS_TO_PROCESS () |
static vtkInformationIntegerKey * | INPUT_PORT () |
static vtkInformationIntegerKey * | INPUT_CONNECTION () |
static vtkInformationIntegerKey * | CAN_PRODUCE_SUB_EXTENT () |
static vtkInformationIntegerKey * | CAN_HANDLE_PIECE_REQUEST () |
static void | SetDefaultExecutivePrototype (vtkExecutive *proto) |
Static Public Member Functions inherited from vtkObject | |
static vtkObject * | New () |
static void | BreakOnError () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
Static Public Member Functions inherited from vtkObjectBase | |
static vtkTypeBool | IsTypeOf (const char *name) |
static vtkObjectBase * | New () |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
int | GenerateHeader (vtkInformation *info, bool singleFile) |
Generate the header information for the file. | |
int | RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) VTK_DICOM_OVERRIDE |
The main execution method, which writes the file. | |
Protected Member Functions inherited from vtkImageWriter | |
virtual void | RecursiveWrite (int dim, vtkImageData *region, vtkInformation *inInfo, ofstream *file) |
virtual void | RecursiveWrite (int dim, vtkImageData *cache, vtkImageData *data, vtkInformation *inInfo, ofstream *file) |
virtual void | WriteFile (ofstream *file, vtkImageData *data, int extent[6], int wExtent[6]) |
virtual void | WriteFileHeader (ofstream *, vtkImageData *, int[6]) |
virtual void | WriteFileTrailer (ofstream *, vtkImageData *) |
Protected Member Functions inherited from vtkImageAlgorithm | |
virtual int | RequestInformation (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
virtual int | RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
virtual void | CopyInputArrayAttributesToOutput (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
virtual void | ExecuteDataWithInformation (vtkDataObject *output, vtkInformation *outInfo) |
virtual void | ExecuteData (vtkDataObject *output) |
virtual void | Execute () |
virtual void | AllocateOutputData (vtkImageData *out, vtkInformation *outInfo, int *uExtent) |
virtual vtkImageData * | AllocateOutputData (vtkDataObject *out, vtkInformation *outInfo) |
virtual void | CopyAttributeData (vtkImageData *in, vtkImageData *out, vtkInformationVector **inputVector) |
int | FillOutputPortInformation (int port, vtkInformation *info) VTK_OVERRIDE |
int | FillInputPortInformation (int port, vtkInformation *info) VTK_OVERRIDE |
Protected Member Functions inherited from vtkAlgorithm | |
virtual void | SetNumberOfInputPorts (int n) |
virtual void | SetNumberOfOutputPorts (int n) |
int | InputPortIndexInRange (int index, const char *action) |
int | OutputPortIndexInRange (int index, const char *action) |
int | GetInputArrayAssociation (int idx, vtkInformationVector **inputVector) |
int | GetInputArrayAssociation (int idx, int connection, vtkInformationVector **inputVector) |
int | GetInputArrayAssociation (int idx, vtkDataObject *input) |
vtkDataArray * | GetInputArrayToProcess (int idx, vtkInformationVector **inputVector) |
vtkDataArray * | GetInputArrayToProcess (int idx, vtkInformationVector **inputVector, int &association) |
vtkDataArray * | GetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector) |
vtkDataArray * | GetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association) |
vtkDataArray * | GetInputArrayToProcess (int idx, vtkDataObject *input) |
vtkDataArray * | GetInputArrayToProcess (int idx, vtkDataObject *input, int &association) |
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector) |
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector, int &association) |
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector) |
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association) |
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkDataObject *input) |
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkDataObject *input, int &association) |
vtkInformation * | GetInputArrayFieldInformation (int idx, vtkInformationVector **inputVector) |
virtual vtkExecutive * | CreateDefaultExecutive () |
virtual void | SetErrorCode (unsigned long) |
void | ReportReferences (vtkGarbageCollector *) VTK_OVERRIDE |
virtual void | SetNthInputConnection (int port, int index, vtkAlgorithmOutput *input) |
virtual void | SetNumberOfInputConnections (int port, int n) |
void | SetInputDataInternal (int port, vtkDataObject *input) |
void | AddInputDataInternal (int port, vtkDataObject *input) |
Protected Member Functions inherited from vtkObject | |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
void | InternalReleaseFocus () |
Protected Member Functions inherited from vtkObjectBase | |
virtual void | CollectRevisions (ostream &) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Static Protected Member Functions | |
static char * | ReplaceExtension (const char *fname, const char *ext1, const char *ext2) |
Make a new filename by replacing extension "ext1" with "ext2". More... | |
Static Protected Member Functions inherited from vtkAlgorithm | |
static vtkInformationIntegerKey * | PORT_REQUIREMENTS_FILLED () |
Protected Attributes | |
int | TimeDimension |
Time dimension to use in the file. | |
double | TimeSpacing |
double | RescaleIntercept |
Information for rescaling data to quantitative units. | |
double | RescaleSlope |
double | QFac |
Set to -1 when VTK slice order is opposite to NIFTI slice order. | |
vtkMatrix4x4 * | QFormMatrix |
The orientation matrices for the NIFTI file. | |
vtkMatrix4x4 * | SFormMatrix |
char * | Description |
A description of how the file was produced. | |
vtkNIFTIHeader * | NIFTIHeader |
The header information. | |
vtkNIFTIHeader * | OwnHeader |
int | NIFTIVersion |
bool | PlanarRGB |
Use planar RGB instead of the default (packed). | |
EndianEnum | DataByteOrder |
Whether the file should be little endian. | |
Protected Attributes inherited from vtkImageWriter | |
int | FileDimensionality |
char * | FilePrefix |
char * | FilePattern |
char * | FileName |
int | FileNumber |
int | FileLowerLeft |
char * | InternalFileName |
int | MinimumFileNumber |
int | MaximumFileNumber |
int | FilesDeleted |
Protected Attributes inherited from vtkAlgorithm | |
vtkInformation * | Information |
unsigned long | ErrorCode |
double | Progress |
char * | ProgressText |
vtkProgressObserver * | ProgressObserver |
Protected Attributes inherited from vtkObject | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
Additional Inherited Members | |
Public Attributes inherited from vtkAlgorithm | |
int | AbortExecute |
Static Protected Attributes inherited from vtkAlgorithm | |
static vtkExecutive * | DefaultExecutivePrototype |
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.
This class was contributed to VTK by the Calgary Image Processing and Analysis Centre (CIPAC).
|
virtual |
Write planar RGB (separate R, G, and B planes), rather than packed RGB.
Use this option with extreme caution: the NIFTI standard requires RGB pixels to be packed. The Analyze format, however, was used to store both planar RGB and packed RGB depending on the software, without any indication in the header about which convention was being used.
|
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 |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkImageWriter.
|
staticprotected |
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.
|
virtual |
Set the byte order for the files (default: little endian).
These methods allow the byte order of the NIFTI file to be set. Originally, Analyze files (and NIFTI, by extension) were meant to be written using the native endianness of the system. However, with the overwhelming preference for little-endian architectures on image processing workstations, defaulting to little endian files (even on big-endian systems) provides better compatibility.
void vtkNIFTIWriter::SetNIFTIHeader | ( | vtkNIFTIHeader * | 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.
|
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 |
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 vtkNIFTIWriter::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.
|
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.
void vtkNIFTIWriter::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 multiplied by the voxel spacing. In the NIFTI header, the sform_code will be set to 2.