Slicer
4.8
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
|
Crop a volume to the specified region of interest. More...
#include <Modules/Loadable/CropVolume/Logic/vtkSlicerCropVolumeLogic.h>
Public Types | |
typedef vtkSlicerModuleLogic | Superclass |
Public Types inherited from vtkSlicerModuleLogic | |
typedef vtkMRMLAbstractLogic | Superclass |
Public Types inherited from vtkMRMLAbstractLogic | |
typedef vtkObject | Superclass |
typedef void(vtkMRMLAbstractLogic::* | TaskFunctionPointer) (void *clientdata) |
Public Member Functions | |
int | Apply (vtkMRMLCropVolumeParametersNode *) |
Crop input volume using the specified ROI node. More... | |
int | CropInterpolated (vtkMRMLAnnotationROINode *roi, vtkMRMLVolumeNode *inputVolume, vtkMRMLVolumeNode *outputNode, bool isotropicResampling, double spacingScale, int interpolationMode, double fillValue) |
Perform interpolated cropping. More... | |
virtual const char * | GetClassName () |
vtkSlicerCLIModuleLogic * | GetResampleLogic () |
vtkSlicerVolumesLogic * | GetVolumesLogic () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE |
virtual void | RegisterNodes () VTK_OVERRIDE |
void | SetResampleLogic (vtkSlicerCLIModuleLogic *logic) |
void | SetVolumesLogic (vtkSlicerVolumesLogic *logic) |
Public Member Functions inherited from vtkSlicerModuleLogic | |
virtual vtkSlicerApplicationLogic * | GetApplicationLogic () |
Get access to overall application state. More... | |
std::string | GetModuleShareDirectory () const |
void | PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE |
void | SetModuleShareDirectory (const std::string &shareDirectory) |
Public Member Functions inherited from vtkMRMLAbstractLogic | |
virtual vtkMRMLApplicationLogic * | GetMRMLApplicationLogic () const |
Get access to overall application state. More... | |
vtkMRMLScene * | GetMRMLScene () const |
Return a reference to the current MRML scene. More... | |
void | PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE |
virtual void | SetMRMLApplicationLogic (vtkMRMLApplicationLogic *logic) |
void | SetMRMLScene (vtkMRMLScene *newScene) |
Set and observe the MRMLScene. More... | |
Static Public Member Functions | |
static int | CropVoxelBased (vtkMRMLAnnotationROINode *roi, vtkMRMLVolumeNode *inputVolume, vtkMRMLVolumeNode *outputNode) |
Perform non-interpolated (voxel-based) cropping. More... | |
static bool | FitROIToInputVolume (vtkMRMLCropVolumeParametersNode *parametersNode) |
static bool | GetInterpolatedCropOutputGeometry (vtkMRMLAnnotationROINode *roi, vtkMRMLVolumeNode *inputVolume, bool isotropicResampling, double spacingScale, int outputExtent[6], double outputSpacing[3]) |
Computes output volume geometry for interpolated cropping (without actually cropping the image). More... | |
static bool | GetVoxelBasedCropOutputExtent (vtkMRMLAnnotationROINode *roi, vtkMRMLVolumeNode *inputVolume, int outputExtent[6]) |
Compute non-interpolated (voxel-based) cropping output volume geometry (without actually cropping the image). More... | |
static bool | IsROIAlignedWithInputVolume (vtkMRMLCropVolumeParametersNode *parametersNode) |
static int | IsTypeOf (const char *type) |
static vtkSlicerCropVolumeLogic * | New () |
static vtkSlicerCropVolumeLogic * | SafeDownCast (vtkObject *o) |
static void | SnapROIToVoxelGrid (vtkMRMLCropVolumeParametersNode *parametersNode) |
Static Public Member Functions inherited from vtkSlicerModuleLogic | |
static int | IsTypeOf (const char *type) |
static vtkSlicerModuleLogic * | New () |
The Usual vtk class functions. More... | |
static vtkSlicerModuleLogic * | SafeDownCast (vtkObject *o) |
Static Public Member Functions inherited from vtkMRMLAbstractLogic | |
static int | IsTypeOf (const char *type) |
static vtkMRMLAbstractLogic * | New () |
static vtkMRMLAbstractLogic * | SafeDownCast (vtkObject *o) |
Additional Inherited Members | |
Static Protected Member Functions inherited from vtkMRMLAbstractLogic | |
static void | MRMLLogicsCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData) |
MRMLLogicCallback is a static function to relay modified events from the logics. More... | |
static void | MRMLNodesCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData) |
MRMLNodesCallback is a static function to relay modified events from the nodes. More... | |
static void | MRMLSceneCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData) |
Crop a volume to the specified region of interest.
This class implements cropping and resampling of a volume. Two main use cases:
If interpolation is disabled then only the extent of the volume is decreased. Cropping without resampling is very fast and needs almost no extra memory.
If interpolation is enabled, then both the size and resolution of the volume can be changed.
Limitations:
Definition at line 65 of file vtkSlicerCropVolumeLogic.h.
Definition at line 71 of file vtkSlicerCropVolumeLogic.h.
|
protected |
|
protectedvirtual |
int vtkSlicerCropVolumeLogic::Apply | ( | vtkMRMLCropVolumeParametersNode * | ) |
Crop input volume using the specified ROI node.
int vtkSlicerCropVolumeLogic::CropInterpolated | ( | vtkMRMLAnnotationROINode * | roi, |
vtkMRMLVolumeNode * | inputVolume, | ||
vtkMRMLVolumeNode * | outputNode, | ||
bool | isotropicResampling, | ||
double | spacingScale, | ||
int | interpolationMode, | ||
double | fillValue | ||
) |
Perform interpolated cropping.
|
static |
Perform non-interpolated (voxel-based) cropping.
|
static |
Sets ROI to fit to input volume. If ROI is under a non-linear transform then the ROI transform will be reset to RAS.
|
virtual |
Reimplemented from vtkSlicerModuleLogic.
|
static |
Computes output volume geometry for interpolated cropping (without actually cropping the image).
vtkSlicerCLIModuleLogic* vtkSlicerCropVolumeLogic::GetResampleLogic | ( | ) |
vtkSlicerVolumesLogic* vtkSlicerCropVolumeLogic::GetVolumesLogic | ( | ) |
|
static |
Compute non-interpolated (voxel-based) cropping output volume geometry (without actually cropping the image).
|
virtual |
Reimplemented from vtkSlicerModuleLogic.
|
static |
|
static |
|
static |
void vtkSlicerCropVolumeLogic::PrintSelf | ( | ostream & | os, |
vtkIndent | indent | ||
) |
|
virtual |
Register node classes into the MRML scene. Called each time a new scene is set. Do nothing by default. Can be reimplemented in derivated classes.
Reimplemented from vtkMRMLAbstractLogic.
|
static |
void vtkSlicerCropVolumeLogic::SetResampleLogic | ( | vtkSlicerCLIModuleLogic * | logic | ) |
void vtkSlicerCropVolumeLogic::SetVolumesLogic | ( | vtkSlicerVolumesLogic * | logic | ) |
|
static |