Slicer  4.11
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
vtkSlicerVolumesLogic Class Reference

#include <Modules/Loadable/Volumes/Logic/vtkSlicerVolumesLogic.h>

Inheritance diagram for vtkSlicerVolumesLogic:
Inheritance graph
[legend]
Collaboration diagram for vtkSlicerVolumesLogic:
Collaboration graph
[legend]

Public Types

typedef ArchetypeVolumeNodeSet(* ArchetypeVolumeNodeSetFactory) (std::string &volumeName, vtkMRMLScene *scene, int options)
 
enum  LoadingOptions {
  LabelMap = 1, CenterImage = 2, SingleFile = 4, AutoWindowLevel = 8,
  DiscardOrientation = 16
}
 Loading options, bitfield. More...
 
typedef vtkSlicerVolumesLogic Self
 
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

vtkMRMLScalarVolumeNodeAddArchetypeScalarVolume (const char *filename, const char *volname, int loadingOptions, vtkStringArray *fileList)
 
vtkMRMLVolumeNodeAddArchetypeVolume (const char *filename, const char *volname, int loadingOptions)
 
vtkMRMLVolumeNodeAddArchetypeVolume (const char *filename, const char *volname, int loadingOptions, vtkStringArray *fileList)
 
vtkMRMLVolumeNodeAddArchetypeVolume (const char *filename, const char *volname)
 
void CenterVolume (vtkMRMLVolumeNode *volumeNode)
 
std::string CheckForLabelVolumeValidity (vtkMRMLScalarVolumeNode *volumeNode, vtkMRMLLabelMapVolumeNode *labelNode)
 
vtkMRMLScalarVolumeNodeCloneVolume (vtkMRMLVolumeNode *volumeNode, const char *name)
 
std::string CompareVolumeGeometry (vtkMRMLScalarVolumeNode *volumeNode1, vtkMRMLScalarVolumeNode *volumeNode2)
 
void ComputeTkRegVox2RASMatrix (vtkMRMLVolumeNode *VNode, vtkMatrix4x4 *M)
 Convenience method to compute a volume's Vox2RAS-tkreg Matrix. More...
 
vtkMRMLLabelMapVolumeNodeCreateAndAddLabelVolume (vtkMRMLVolumeNode *volumeNode, const char *name)
 
vtkMRMLLabelMapVolumeNodeCreateAndAddLabelVolume (vtkMRMLScene *scene, vtkMRMLVolumeNode *volumeNode, const char *name)
 Create a label map volume to match the given volumeNode and add it to the scene. More...
 
vtkMRMLLabelMapVolumeNodeCreateLabelVolume (vtkMRMLVolumeNode *volumeNode, const char *name)
 
vtkMRMLLabelMapVolumeNodeCreateLabelVolume (vtkMRMLScene *scene, vtkMRMLVolumeNode *volumeNode, const char *name)
 
vtkMRMLLabelMapVolumeNodeCreateLabelVolumeFromVolume (vtkMRMLScene *scene, vtkMRMLLabelMapVolumeNode *outputVolume, vtkMRMLVolumeNode *inputVolume)
 
vtkMRMLScalarVolumeNodeCreateScalarVolumeFromVolume (vtkMRMLScene *scene, vtkMRMLScalarVolumeNode *outputVolume, vtkMRMLVolumeNode *inputVolume)
 
vtkMRMLLabelMapVolumeNodeFillLabelVolumeFromTemplate (vtkMRMLLabelMapVolumeNode *labelNode, vtkMRMLVolumeNode *templateNode)
 
vtkMRMLLabelMapVolumeNodeFillLabelVolumeFromTemplate (vtkMRMLScene *scene, vtkMRMLLabelMapVolumeNode *labelNode, vtkMRMLVolumeNode *templateNode)
 
vtkMRMLVolumeNodeGetActiveVolumeNode () const
 
virtual const char * GetClassName ()
 
virtual double GetCompareVolumeGeometryEpsilon ()
 
virtual int GetCompareVolumeGeometryPrecision ()
 
void GetVolumeCenteredOrigin (vtkMRMLVolumeNode *volumeNode, double *origin)
 
virtual int IsA (const char *type)
 
int IsFreeSurferVolume (const char *filename)
 
void PreRegisterArchetypeVolumeNodeSetFactory (ArchetypeVolumeNodeSetFactory factory)
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
void RegisterArchetypeVolumeNodeSetFactory (ArchetypeVolumeNodeSetFactory factory)
 
int SaveArchetypeVolume (const char *filename, vtkMRMLVolumeNode *volumeNode)
 Write volume's image data to a specified file. More...
 
void SetActiveVolumeNode (vtkMRMLVolumeNode *ActiveVolumeNode)
 The currently active mrml volume node. More...
 
void SetCompareVolumeGeometryEpsilon (double epsilon)
 
void TranslateFreeSurferRegistrationMatrixIntoSlicerRASToRASMatrix (vtkMRMLVolumeNode *V1Node, vtkMRMLVolumeNode *V2Node, vtkMatrix4x4 *FSRegistrationMatrix, vtkMatrix4x4 *ResultsMatrix)
 
- Public Member Functions inherited from vtkSlicerModuleLogic
virtual vtkSlicerApplicationLogicGetApplicationLogic ()
 Get access to overall application state. More...
 
virtual vtkMRMLAbstractLogicGetModuleLogic (const char *moduleName)
 Convenience method for getting another module's logic from the application logic. More...
 
std::string GetModuleShareDirectory () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
void SetModuleShareDirectory (const std::string &shareDirectory)
 
- Public Member Functions inherited from vtkMRMLAbstractLogic
virtual vtkMRMLApplicationLogicGetMRMLApplicationLogic () const
 Get access to overall application state. More...
 
vtkMRMLSceneGetMRMLScene () const
 Return a reference to the current MRML scene. More...
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
virtual void SetMRMLApplicationLogic (vtkMRMLApplicationLogic *logic)
 
void SetMRMLScene (vtkMRMLScene *newScene)
 Set and observe the MRMLScene. More...
 

Static Public Member Functions

static void ClearVolumeImageData (vtkMRMLVolumeNode *volumeNode)
 Clear the image data of a volume node to contain all zeros. More...
 
static vtkMRMLScalarVolumeNodeCloneVolume (vtkMRMLScene *scene, vtkMRMLVolumeNode *volumeNode, const char *name, bool cloneImageData=true)
 
static vtkMRMLVolumeNodeCloneVolumeGeneric (vtkMRMLScene *scene, vtkMRMLVolumeNode *volumeNode, const char *name, bool cloneImageData=true)
 Create a deep copy of a volumeNode and add it to the scene. More...
 
static vtkMRMLScalarVolumeNodeCloneVolumeWithoutImageData (vtkMRMLScene *scene, vtkMRMLVolumeNode *volumeNode, const char *name)
 
static int IsTypeOf (const char *type)
 
static vtkSlicerVolumesLogicNew ()
 
static vtkMRMLScalarVolumeNodeResampleVolumeToReferenceVolume (vtkMRMLVolumeNode *inputVolumeNode, vtkMRMLVolumeNode *referenceVolumeNode)
 
static vtkSlicerVolumesLogicSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkSlicerModuleLogic
static int IsTypeOf (const char *type)
 
static vtkSlicerModuleLogicNew ()
 The Usual vtk class functions. More...
 
static vtkSlicerModuleLogicSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkMRMLAbstractLogic
static int IsTypeOf (const char *type)
 
static vtkMRMLAbstractLogicNew ()
 
static vtkMRMLAbstractLogicSafeDownCast (vtkObject *o)
 

Protected Types

typedef std::list< ArchetypeVolumeNodeSetFactoryNodeSetFactoryRegistry
 

Protected Member Functions

vtkMRMLVolumeNodeAddArchetypeVolume (const NodeSetFactoryRegistry &volumeRegistry, const char *filename, const char *volname, int loadingOptions, vtkStringArray *fileList)
 
void InitializeStorageNode (vtkMRMLStorageNode *storageNode, const char *filename, vtkStringArray *fileList, vtkMRMLScene *mrmlScene=nullptr)
 
void operator= (const vtkSlicerVolumesLogic &)
 
void ProcessMRMLNodesEvents (vtkObject *caller, unsigned long event, void *callData) override
 
void SetAndObserveColorToDisplayNode (vtkMRMLDisplayNode *displayNode, int labelmap, const char *filename)
 
 vtkSlicerVolumesLogic ()
 
 vtkSlicerVolumesLogic (const vtkSlicerVolumesLogic &)
 
 ~vtkSlicerVolumesLogic () override
 
- Protected Member Functions inherited from vtkSlicerModuleLogic
 vtkSlicerModuleLogic ()
 
 ~vtkSlicerModuleLogic () override
 
- Protected Member Functions inherited from vtkMRMLAbstractLogic
int EndModify (bool wasModifying)
 
virtual bool EnterMRMLLogicsCallback () const
 
virtual bool EnterMRMLNodesCallback () const
 
virtual bool EnterMRMLSceneCallback () const
 
bool GetDisableModifiedEvent () const
 
int GetInMRMLLogicsCallbackFlag () const
 
int GetInMRMLNodesCallbackFlag () const
 
int GetInMRMLSceneCallbackFlag () const
 
vtkCallbackCommand * GetMRMLLogicsCallbackCommand ()
 
vtkObserverManagerGetMRMLLogicsObserverManager () const
 
vtkCallbackCommand * GetMRMLNodesCallbackCommand ()
 
vtkObserverManagerGetMRMLNodesObserverManager () const
 
vtkCallbackCommand * GetMRMLSceneCallbackCommand ()
 
vtkObserverManagerGetMRMLSceneObserverManager () const
 
int GetPendingModifiedEventCount () const
 
int GetProcessingMRMLSceneEvent () const
 Return the event id currently processed or 0 if any. More...
 
int InvokePendingModifiedEvent ()
 
void Modified () override
 
virtual void ObserveMRMLScene ()
 
virtual void OnMRMLNodeModified (vtkMRMLNode *)
 
virtual void OnMRMLSceneEndBatchProcess ()
 
virtual void OnMRMLSceneEndClose ()
 
virtual void OnMRMLSceneEndImport ()
 
virtual void OnMRMLSceneEndRestore ()
 
virtual void OnMRMLSceneNew ()
 
virtual void OnMRMLSceneNodeAdded (vtkMRMLNode *)
 
virtual void OnMRMLSceneNodeRemoved (vtkMRMLNode *)
 
virtual void OnMRMLSceneStartBatchProcess ()
 
virtual void OnMRMLSceneStartClose ()
 
virtual void OnMRMLSceneStartImport ()
 
virtual void OnMRMLSceneStartRestore ()
 
virtual void ProcessMRMLLogicsEvents (vtkObject *caller, unsigned long event, void *callData)
 
virtual void ProcessMRMLSceneEvents (vtkObject *caller, unsigned long event, void *callData)
 
virtual void RegisterNodes ()
 
void SetAndObserveMRMLSceneEventsInternal (vtkMRMLScene *newScene, vtkIntArray *events, vtkFloatArray *priorities=nullptr)
 
void SetDisableModifiedEvent (bool onOff)
 
void SetInMRMLLogicsCallbackFlag (int flag)
 
void SetInMRMLNodesCallbackFlag (int flag)
 
void SetInMRMLSceneCallbackFlag (int flag)
 
virtual void SetMRMLSceneInternal (vtkMRMLScene *newScene)
 
void SetProcessingMRMLSceneEvent (int event)
 
bool StartModify ()
 
virtual void UnobserveMRMLScene ()
 
virtual void UpdateFromMRMLScene ()
 
 vtkMRMLAbstractLogic ()
 
 ~vtkMRMLAbstractLogic () override
 

Protected Attributes

vtkSmartPointer< vtkMRMLVolumeNodeActiveVolumeNode
 
double CompareVolumeGeometryEpsilon
 
int CompareVolumeGeometryPrecision
 
NodeSetFactoryRegistry VolumeRegistry
 

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)
 

Detailed Description

Definition at line 63 of file vtkSlicerVolumesLogic.h.

Member Typedef Documentation

◆ ArchetypeVolumeNodeSetFactory

typedef ArchetypeVolumeNodeSet(* vtkSlicerVolumesLogic::ArchetypeVolumeNodeSetFactory) (std::string &volumeName, vtkMRMLScene *scene, int options)

Factory function to create a volume node, display node, and storage node, configure the in the specified scene, and initialize the storage node with the "options".

Definition at line 86 of file vtkSlicerVolumesLogic.h.

◆ NodeSetFactoryRegistry

Definition at line 307 of file vtkSlicerVolumesLogic.h.

◆ Self

Definition at line 72 of file vtkSlicerVolumesLogic.h.

◆ Superclass

Definition at line 69 of file vtkSlicerVolumesLogic.h.

Member Enumeration Documentation

◆ LoadingOptions

Loading options, bitfield.

Enumerator
LabelMap 
CenterImage 
SingleFile 
AutoWindowLevel 
DiscardOrientation 

Definition at line 75 of file vtkSlicerVolumesLogic.h.

Constructor & Destructor Documentation

◆ vtkSlicerVolumesLogic() [1/2]

vtkSlicerVolumesLogic::vtkSlicerVolumesLogic ( )
protected

◆ ~vtkSlicerVolumesLogic()

vtkSlicerVolumesLogic::~vtkSlicerVolumesLogic ( )
overrideprotected

◆ vtkSlicerVolumesLogic() [2/2]

vtkSlicerVolumesLogic::vtkSlicerVolumesLogic ( const vtkSlicerVolumesLogic )
protected

Member Function Documentation

◆ AddArchetypeScalarVolume()

vtkMRMLScalarVolumeNode* vtkSlicerVolumesLogic::AddArchetypeScalarVolume ( const char *  filename,
const char *  volname,
int  loadingOptions,
vtkStringArray *  fileList 
)

Load a scalar volume function directly, bypassing checks of all factories done in AddArchetypeVolume.

See also
AddArchetypeVolume(const NodeSetFactoryRegistry& volumeRegistry, const char* filename, const char* volname, int loadingOptions, vtkStringArray *fileList)

◆ AddArchetypeVolume() [1/4]

vtkMRMLVolumeNode* vtkSlicerVolumesLogic::AddArchetypeVolume ( const char *  filename,
const char *  volname,
int  loadingOptions 
)
inline

Overloaded function of AddArchetypeVolume to provide more loading options, where variable loadingOptions is bit-coded as following: bit 0: label map bit 1: centered bit 2: loading single file bit 3: calculate window level automatically bit 4: discard image orientation higher bits are reserved for future use

Definition at line 125 of file vtkSlicerVolumesLogic.h.

◆ AddArchetypeVolume() [2/4]

vtkMRMLVolumeNode* vtkSlicerVolumesLogic::AddArchetypeVolume ( const char *  filename,
const char *  volname,
int  loadingOptions,
vtkStringArray *  fileList 
)

◆ AddArchetypeVolume() [3/4]

vtkMRMLVolumeNode* vtkSlicerVolumesLogic::AddArchetypeVolume ( const char *  filename,
const char *  volname 
)
inline

Definition at line 130 of file vtkSlicerVolumesLogic.h.

◆ AddArchetypeVolume() [4/4]

vtkMRMLVolumeNode* vtkSlicerVolumesLogic::AddArchetypeVolume ( const NodeSetFactoryRegistry volumeRegistry,
const char *  filename,
const char *  volname,
int  loadingOptions,
vtkStringArray *  fileList 
)
protected

Convenience function allowing to try to load a volume using a given list of NodeSetFactoryRegistry

◆ CenterVolume()

void vtkSlicerVolumesLogic::CenterVolume ( vtkMRMLVolumeNode volumeNode)

Center the volume on the origin (0,0,0)

See also
GetVolumeCenteredOrigin()

◆ CheckForLabelVolumeValidity()

std::string vtkSlicerVolumesLogic::CheckForLabelVolumeValidity ( vtkMRMLScalarVolumeNode volumeNode,
vtkMRMLLabelMapVolumeNode labelNode 
)

Return a string listing any warnings about the spatial validity of the labelmap with respect to the volume. An empty string indicates that the two volumes are identical samplings of the same spatial region and that the second volume input is a label map.

See also
CompareVolumeGeometry

◆ ClearVolumeImageData()

static void vtkSlicerVolumesLogic::ClearVolumeImageData ( vtkMRMLVolumeNode volumeNode)
static

Clear the image data of a volume node to contain all zeros.

◆ CloneVolume() [1/2]

vtkMRMLScalarVolumeNode* vtkSlicerVolumesLogic::CloneVolume ( vtkMRMLVolumeNode volumeNode,
const char *  name 
)

Create a deep copy of a volumeNode and add it to the current scene. If cloneImageData is false then the volume node is created without image data.

See also
GetMRMLScene()

◆ CloneVolume() [2/2]

static vtkMRMLScalarVolumeNode* vtkSlicerVolumesLogic::CloneVolume ( vtkMRMLScene scene,
vtkMRMLVolumeNode volumeNode,
const char *  name,
bool  cloneImageData = true 
)
static

Create a deep copy of a volumeNode and add it to the scene Only works for vtkMRMLScalarVolumeNode. The method is kept as is for background compatibility only, internally it calls CloneVolumeGeneric.

See also
CloneVolumeGeneric

◆ CloneVolumeGeneric()

static vtkMRMLVolumeNode* vtkSlicerVolumesLogic::CloneVolumeGeneric ( vtkMRMLScene scene,
vtkMRMLVolumeNode volumeNode,
const char *  name,
bool  cloneImageData = true 
)
static

Create a deep copy of a volumeNode and add it to the scene.

◆ CloneVolumeWithoutImageData()

static vtkMRMLScalarVolumeNode* vtkSlicerVolumesLogic::CloneVolumeWithoutImageData ( vtkMRMLScene scene,
vtkMRMLVolumeNode volumeNode,
const char *  name 
)
static

Create a empty copy of a volumeNode without imageData and add it to the current scene

See also
GetMRMLScene()

◆ CompareVolumeGeometry()

std::string vtkSlicerVolumesLogic::CompareVolumeGeometry ( vtkMRMLScalarVolumeNode volumeNode1,
vtkMRMLScalarVolumeNode volumeNode2 
)

Generate a string listing any warnings about the spatial validity of the second volume with respect to the first volume. An empty string indicates that the two volumes are identical samplings of the same spatial region. Checks include: Valid image data. Same dimensions. Same spacing. Same origin. Same IJKtoRAS.

See also
CheckForLabelVolumeValidity, ResampleVolumeToReferenceVolume

◆ ComputeTkRegVox2RASMatrix()

void vtkSlicerVolumesLogic::ComputeTkRegVox2RASMatrix ( vtkMRMLVolumeNode VNode,
vtkMatrix4x4 *  M 
)

Convenience method to compute a volume's Vox2RAS-tkreg Matrix.

◆ CreateAndAddLabelVolume() [1/2]

vtkMRMLLabelMapVolumeNode* vtkSlicerVolumesLogic::CreateAndAddLabelVolume ( vtkMRMLVolumeNode volumeNode,
const char *  name 
)

Create a label map volume to match the given volumeNode and add it to the current scene

See also
GetMRMLScene()

◆ CreateAndAddLabelVolume() [2/2]

vtkMRMLLabelMapVolumeNode* vtkSlicerVolumesLogic::CreateAndAddLabelVolume ( vtkMRMLScene scene,
vtkMRMLVolumeNode volumeNode,
const char *  name 
)

Create a label map volume to match the given volumeNode and add it to the scene.

◆ CreateLabelVolume() [1/2]

vtkMRMLLabelMapVolumeNode* vtkSlicerVolumesLogic::CreateLabelVolume ( vtkMRMLVolumeNode volumeNode,
const char *  name 
)
Deprecated:
Create a label map volume to match the given volumeNode and add it to the current scene.
See also
CreateAndAddLabelVolume

◆ CreateLabelVolume() [2/2]

vtkMRMLLabelMapVolumeNode* vtkSlicerVolumesLogic::CreateLabelVolume ( vtkMRMLScene scene,
vtkMRMLVolumeNode volumeNode,
const char *  name 
)
Deprecated:
Create a label map volume to match the given volumeNode and add it to the scene
See also
CreateAndAddLabelVolume

◆ CreateLabelVolumeFromVolume()

vtkMRMLLabelMapVolumeNode* vtkSlicerVolumesLogic::CreateLabelVolumeFromVolume ( vtkMRMLScene scene,
vtkMRMLLabelMapVolumeNode outputVolume,
vtkMRMLVolumeNode inputVolume 
)

Set a label map volume to match the given input volume node, under the assumption that the given label map node is already added to the scene. A display node will be added to it if the label node doesn't already have one, and the image data associated with the label node will be allocated according to the template volumeNode.

◆ CreateScalarVolumeFromVolume()

vtkMRMLScalarVolumeNode* vtkSlicerVolumesLogic::CreateScalarVolumeFromVolume ( vtkMRMLScene scene,
vtkMRMLScalarVolumeNode outputVolume,
vtkMRMLVolumeNode inputVolume 
)

Set a scalar volume to match the given input volume node, under the assumption that the given label map node is already added to the scene. A display node will be added to it if the label node doesn't already have one, and the image data associated with the label node will be allocated according to the template volumeNode.

◆ FillLabelVolumeFromTemplate() [1/2]

vtkMRMLLabelMapVolumeNode* vtkSlicerVolumesLogic::FillLabelVolumeFromTemplate ( vtkMRMLLabelMapVolumeNode labelNode,
vtkMRMLVolumeNode templateNode 
)
Deprecated:
Fill in a label map volume to match the given template volume node.
See also
FillLabelVolumeFromTemplate(vtkMRMLScene*, vtkMRMLScalarVolumeNode*, vtkMRMLVolumeNode*)
GetMRMLScene()

◆ FillLabelVolumeFromTemplate() [2/2]

vtkMRMLLabelMapVolumeNode* vtkSlicerVolumesLogic::FillLabelVolumeFromTemplate ( vtkMRMLScene scene,
vtkMRMLLabelMapVolumeNode labelNode,
vtkMRMLVolumeNode templateNode 
)
Deprecated:
Fill in a label map volume to match the given template volume node, under the assumption that the given label map node is already added to the scene. A display node will be added to it if the label node doesn't already have one, and the image data associated with the label node will be allocated according to the template volumeNode.

◆ GetActiveVolumeNode()

vtkMRMLVolumeNode* vtkSlicerVolumesLogic::GetActiveVolumeNode ( ) const

◆ GetClassName()

virtual const char* vtkSlicerVolumesLogic::GetClassName ( )
virtual

Reimplemented from vtkSlicerModuleLogic.

◆ GetCompareVolumeGeometryEpsilon()

virtual double vtkSlicerVolumesLogic::GetCompareVolumeGeometryEpsilon ( )
virtual

Getting the epsilon value to use when determining if the elements of the IJK to RAS matrices of two volumes match. Defaults to 10 to the minus 6.

◆ GetCompareVolumeGeometryPrecision()

virtual int vtkSlicerVolumesLogic::GetCompareVolumeGeometryPrecision ( )
virtual

Get the precision with which to print out volume geometry mismatches, value is set when setting the compare volume geometry epsilon.

See also
SetCompareVolumeGeometryEpsilon

◆ GetVolumeCenteredOrigin()

void vtkSlicerVolumesLogic::GetVolumeCenteredOrigin ( vtkMRMLVolumeNode volumeNode,
double *  origin 
)

Compute the origin of the volume in order for the volume to be centered.

See also
CenterVolume()

◆ InitializeStorageNode()

void vtkSlicerVolumesLogic::InitializeStorageNode ( vtkMRMLStorageNode storageNode,
const char *  filename,
vtkStringArray *  fileList,
vtkMRMLScene mrmlScene = nullptr 
)
protected

◆ IsA()

virtual int vtkSlicerVolumesLogic::IsA ( const char *  type)
virtual

Reimplemented from vtkSlicerModuleLogic.

◆ IsFreeSurferVolume()

int vtkSlicerVolumesLogic::IsFreeSurferVolume ( const char *  filename)

Examine the file name to see if the extension is one of the supported freesurfer volume formats. Used to assign the proper colour node to label maps.

◆ IsTypeOf()

static int vtkSlicerVolumesLogic::IsTypeOf ( const char *  type)
static

◆ New()

static vtkSlicerVolumesLogic* vtkSlicerVolumesLogic::New ( )
static

◆ operator=()

void vtkSlicerVolumesLogic::operator= ( const vtkSlicerVolumesLogic )
protected

◆ PreRegisterArchetypeVolumeNodeSetFactory()

void vtkSlicerVolumesLogic::PreRegisterArchetypeVolumeNodeSetFactory ( ArchetypeVolumeNodeSetFactory  factory)

Register a factory method that can create and configure a node set (ArchetypeVolumeNodeSet) containing a volume node, display node, and storage node. The nodes are configured within the factory method with default settings and are added to the scene and cross-referenced appropriately. Node types must be registered with the scene beforehand the factory is called. This version inserts the factory at the head of the list, and hence the factory will be tested first, rather than pushing onto the back of the list of factories.

◆ PrintSelf()

void vtkSlicerVolumesLogic::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
override

◆ ProcessMRMLNodesEvents()

void vtkSlicerVolumesLogic::ProcessMRMLNodesEvents ( vtkObject *  caller,
unsigned long  event,
void *  callData 
)
overrideprotectedvirtual

Receives all the events fired by the nodes. To listen to a node, you can add an observer using GetMRMLNodesCallbackCommand() or use the utility macros vtk[SetAndObserve|Observe]MRMLNode[Event]Macro ProcessMRMLNodesEvents calls OnMRMLNodeModified when event is vtkCommand::ModifiedEvent.

See also
ProcessMRMLSceneEvents, ProcessMRMLLogicsEvents, OnMRMLNodeModified(), vtkSetAndObserveMRMLNodeMacro, vtkObserveMRMLNodeMacro, vtkSetAndObserveMRMLNodeEventMacro

Reimplemented from vtkMRMLAbstractLogic.

◆ RegisterArchetypeVolumeNodeSetFactory()

void vtkSlicerVolumesLogic::RegisterArchetypeVolumeNodeSetFactory ( ArchetypeVolumeNodeSetFactory  factory)

Register a factory method that can create and configure a node set (ArchetypeVolumeNodeSet) containing a volume node, display node, and storage node. The nodes are configured within the factory method with default settings and are added to the scene and cross-referenced appropriately. Node types must be registered with the scene beforehand the factory is called. Factories are tested in the order they are registered.

◆ ResampleVolumeToReferenceVolume()

static vtkMRMLScalarVolumeNode* vtkSlicerVolumesLogic::ResampleVolumeToReferenceVolume ( vtkMRMLVolumeNode inputVolumeNode,
vtkMRMLVolumeNode referenceVolumeNode 
)
static

Convenience method to resample input volume using reference volume info

See also
CompareVolumeGeometry

◆ SafeDownCast()

static vtkSlicerVolumesLogic* vtkSlicerVolumesLogic::SafeDownCast ( vtkObject *  o)
static

◆ SaveArchetypeVolume()

int vtkSlicerVolumesLogic::SaveArchetypeVolume ( const char *  filename,
vtkMRMLVolumeNode volumeNode 
)

Write volume's image data to a specified file.

◆ SetActiveVolumeNode()

void vtkSlicerVolumesLogic::SetActiveVolumeNode ( vtkMRMLVolumeNode ActiveVolumeNode)

The currently active mrml volume node.

◆ SetAndObserveColorToDisplayNode()

void vtkSlicerVolumesLogic::SetAndObserveColorToDisplayNode ( vtkMRMLDisplayNode displayNode,
int  labelmap,
const char *  filename 
)
protected

◆ SetCompareVolumeGeometryEpsilon()

void vtkSlicerVolumesLogic::SetCompareVolumeGeometryEpsilon ( double  epsilon)

Setting the epsilon value and associated precision to use when determining if the elements of the IJK to RAS matrices of two volumes match and how to print out the mismatched elements.

◆ TranslateFreeSurferRegistrationMatrixIntoSlicerRASToRASMatrix()

void vtkSlicerVolumesLogic::TranslateFreeSurferRegistrationMatrixIntoSlicerRASToRASMatrix ( vtkMRMLVolumeNode V1Node,
vtkMRMLVolumeNode V2Node,
vtkMatrix4x4 *  FSRegistrationMatrix,
vtkMatrix4x4 *  ResultsMatrix 
)

Computes matrix we need to register V1Node to V2Node given the "register.dat" matrix from tkregister2 (FreeSurfer)

Member Data Documentation

◆ ActiveVolumeNode

vtkSmartPointer<vtkMRMLVolumeNode> vtkSlicerVolumesLogic::ActiveVolumeNode
protected

Definition at line 317 of file vtkSlicerVolumesLogic.h.

◆ CompareVolumeGeometryEpsilon

double vtkSlicerVolumesLogic::CompareVolumeGeometryEpsilon
protected

Allowable difference in comparing volume geometry double values. Defaults to 1 to the power of 10 to the minus 6

Definition at line 323 of file vtkSlicerVolumesLogic.h.

◆ CompareVolumeGeometryPrecision

int vtkSlicerVolumesLogic::CompareVolumeGeometryPrecision
protected

Error print out precision, paried with CompareVolumeGeometryEpsilon. defaults to 6

Definition at line 327 of file vtkSlicerVolumesLogic.h.

◆ VolumeRegistry

NodeSetFactoryRegistry vtkSlicerVolumesLogic::VolumeRegistry
protected

Definition at line 319 of file vtkSlicerVolumesLogic.h.


The documentation for this class was generated from the following file: