NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
niftk Namespace Reference

Namespaces

 ICPBasedRegistrationConstants
 
 impldetail
 
 PointBasedRegistrationConstants
 

Classes

union  ad
 
class  AffineTransformDataInteractor3D
 Affine data interaction with objects in 3D windows. More...
 
class  AffineTransformDataNodeProperty
 MITK data-node property suitable for holding affine transforms. More...
 
class  AffineTransformer
 Class to contain all the ITK/MITK logic for the Affine Transformation Plugin, to separate from AffineTransformationView to make unit testing easier. More...
 
class  AffineTransformParametersDataNodeProperty
 
class  AtomicStateTransitionTester
 Test class to ensure the atomic transition from one object state to another. More...
 
class  AuroraCubeTracker
 RAII object to connect to Aurora Cube tracker. More...
 
class  AuroraDomeTracker
 RAII object to connect to Aurora Dome tracker. More...
 
class  AuroraTableTopTracker
 RAII object to connect to Aurora Table Top tracker. More...
 
class  BackfaceCullingFilter
 
class  BaseApplication
 Abstract plugin class to start up an application. More...
 
class  BaseApplicationPluginActivator
 Abstract class that implements QT and CTK specific functionality to launch the application as a plugin. More...
 
class  BaseApplicationPreferencePage
 Preferences page for this plugin, providing application wide defaults. More...
 
class  BaseController
 
class  BaseControllerPrivate
 
class  BaseGUI
 Base class for GUI controls on BlueBerry views. More...
 
class  BaseSegmentorController
 
class  BaseSegmentorGUI
 Base class for GUI controls on MIDAS segmentor views. More...
 
class  BaseSegmentorView
 Base view component for MIDAS Segmentation widgets. More...
 
class  BaseView
 Base view component for plugins listening to visibility change events, focus changed events and so on. More...
 
class  BaseViewPrivate
 
class  BaseWorkbenchAdvisor
 Abstract advisor class to set up an initial workbench. More...
 
class  BaseWorkbenchWindowAdvisor
 
class  BasicMesh
 Simple mesh implementation that is used in the Surface Extraction and surface smoothing and decimation algorithms. This stores a list of vertices and another list of triangles (which references the vertex list) More...
 
class  BasicTriangle
 Simple triangle implementation that is used in the Surface Extraction and surface smoothing and decimation algorithms. It keeps hold of vertices, triangle index and has an active flag. More...
 
class  BasicVec3D
 Simple 3D Vector implementation that is used in the Surface Extraction and surface smoothing and decimation algorithms. More...
 
class  BasicVertex
 Simple vertex implementation that is used in the Surface Extraction and surface smoothing and decimation algorithms. It has both a position and a normal. More...
 
class  BitmapOverlay
 Used to draw a 2D image into the background of a VTK Render Window. More...
 
struct  Border
 
class  CameraCalView
 User interface to provide controls to do mono/stereo, video camera calibration. More...
 
class  CameraCalViewActivator
 
class  CameraCalViewPreferencePage
 Preferences page for the Video Camera Calibration View plugin. More...
 
class  CGALMesherBackEnd
 
class  CMC33
 Marching Cubes - CMC33 algorithm. More...
 
class  CMICLogo
 
struct  CommandLineArgumentDescription
 
class  CommandLineParser
 Parser for extracting program arguments from the command line. More...
 
class  CommonMIDASActivator
 
class  ContourTool
 Provides common functionality for DrawTool and PolyTool where these two tools enable drawing lines and poly-lines around voxel edges. More...
 
class  ContourToolEventInterface
 Interface class, simply to callback onto ContourTool for Undo/Redo purposes. More...
 
class  ContourToolOpAccumulateContour
 Operation class to hold data to pass back to this ContourTool, so that this ContourTool can execute the Undo/Redo command. More...
 
class  CoordinateAxesData
 Class to enable the data to represent coordinate axes to be added as a mitk::BaseData to the mitk::DataStorage. This class turns out to be very simple, as the BaseData contains the mitk::BaseGeometry, which contains all the information we need. So this class is effectively a dummy class. More...
 
class  CoordinateAxesDataOpUpdate
 
class  CoordinateAxesDataReaderService
 Loads a 4x4 Matrix into a niftk::CoordinateAxesData. More...
 
class  CoordinateAxesDataSerializer
 Serializes niftk::CoordinateAxesData for mitk::SceneIO. More...
 
class  CoordinateAxesDataWriterService
 Saves a niftk::CoordinateAxesData into a 4x4 Matrix text file. More...
 
class  CoordinateAxesVtkMapper3D
 Draws a representation of an niftk::CoordinateAxesData. More...
 
class  CoreIOActivator
 The CoreIOActivator class. More...
 
class  CoreIOMimeTypes
 The CoreIOMimeTypes class. More...
 
class  CoreIOObjectFactory
 Object factory class to create and register our IO classes. More...
 
class  CoreObjectFactory
 Object factory class to instantiate or set properties on our non-IO related classes. More...
 
class  CSVRow
 Comma separated value (CSV) row class used to parse rows from an input stream and split them into a vector of strin elements. More...
 
class  CUDAImage
 
class  CUDAImageProperty
 
class  CUDAManager
 
class  CustomVTKAxesActor
 
class  DataNodeBoolPropertyFilter
 A filter that contains a list of renderers, and returns true if the node has a specific boolean property set to true for those filters. More...
 
class  DataNodeFilter
 A class that tests a list of nodes, and returns true for "pass" and false otherwise. More...
 
class  DataNodePropertyListener
 
class  DataNodeStringPropertyFilter
 A filter that takes a named property, for example "name", and a list of strings to check against, and compares the node to see if its property (eg "name") matches any of the supplied strings, and if it does match, will return Pass=false, otherwise Pass=true. More...
 
class  DataNodeVisibilityTracker
 
class  DataSourcesView
 User interface to provide Image Guided Surgery functionality. More...
 
class  DataSourcesViewActivator
 
class  DataSourcesViewPreferencePage
 Preferences page for the surgical guidance plugin with choices for colours, default paths to save data etc. More...
 
class  DataStorageCheckableComboBox
 
class  DataStorageListener
 Base class for objects that Listen to data storage, and want to update a node. More...
 
class  DisplayGeometryModificationCommand
 
class  DnDDisplayInteractor
 Observer that manages the interaction with the display. More...
 
class  DnDDisplayPreferencePage
 Provides a preferences page for the NifTK DnD Display, including default number of rows, default number of columns, image interpolation, default window layout and background colour. More...
 
class  DrawTool
 Tool to draw lines around voxel edges like MIDAS does rather than through them as most of the MITK tools do. More...
 
class  DrawToolEventInterface
 Interface class, simply to callback onto DrawTool for Undo/Redo purposes. More...
 
class  DrawToolGUI
 GUI component for the DrawTool, providing a single slider to control the radius in millimetres of the "erase" function. More...
 
class  DrawToolOpEraseContour
 Operation class to hold data to pass back to this DrawTool, so that this DrawTool can execute the Undo/Redo command. More...
 
class  EditorLifeCycleListener
 
class  ExceptionObject
 Basic NIFTK exception class. More...
 
class  FastPointSetVtkMapper3D
 Vtk-based mapper for PointSet, that just displays a basic dot for each point. More...
 
class  FilteringStateMachine
 Common base class for segmentor tools and interactors. More...
 
class  FitPlaneToPointCloudWrapper
 
class  FixedLengthFileReader
 Reads a fixed number S of type T from a file. More...
 
class  GeneralSegmentorActivator
 CTK Plugin Activator class for niftkGeneralSegmentorView. More...
 
class  GeneralSegmentorController
 Provides the MIDAS general purpose, Irregular Volume Editor functionality originally developed at the Dementia Research Centre UCL (http://dementia.ion.ucl.ac.uk/). More...
 
class  GeneralSegmentorControllerPrivate
 
class  GeneralSegmentorEventInterface
 Interface class, simply to callback onto niftkGeneralSegmentorController class for Undo/Redo purposes. More...
 
class  GeneralSegmentorGUI
 Implements the Qt/Widget specific functionality pertaining to the General Segmentor View. More...
 
class  GeneralSegmentorPipeline
 A specific implementation of GeneralSegmentorPipelineInterface, based on ITK, called from MITK. More...
 
class  GeneralSegmentorPipelineCache
 
class  GeneralSegmentorPipelineInterface
 Abstract interface to plug the ITK pipeline into MITK framework. More...
 
class  GeneralSegmentorPipelineParams
 A simple parameters object to pass all parameters to the ITK based region growing pipeline. More...
 
class  GeneralSegmentorPreferencePage
 Preferences page for this plugin, enabling the choice of the default colour of the segmentation. More...
 
class  GeneralSegmentorView
 Provides a view for the MIDAS general purpose, Irregular Volume Editor functionality, originally developed at the Dementia Research Centre UCL (http://dementia.ion.ucl.ac.uk/). More...
 
class  HandeyeCalibrateUsingRegistration
 Computes hand-eye using registration. More...
 
class  HelpAboutDialog
 Prints out a useful About dialog with software version numbers. More...
 
class  IBaseView
 Public interface to QmitkBaseView. More...
 
class  ICPBasedRegistration
 Class to perform a surface based registration of two MITK Surfaces/PointSets, using VTKs ICP. More...
 
class  ICPRegService
 Implements niftk::SurfaceRegServiceI using niftk::ICPBasedRegistration. More...
 
class  ICPRegServiceActivator
 Activator to register instances of niftk::SurfaceRegServiceI, currently only niftk::ICPRegService. More...
 
class  ICPRegServiceRAII
 RAII object to run ICP Surface Based Registration. More...
 
class  IGIBufferedSaveableDataSourceI
 Abstract base class for data sources that can clean their own buffer. More...
 
class  IGICleanableDataSourceI
 Abstract base class for data sources that can clean their own buffer. More...
 
class  IGIConfigurationDialog
 Used to send parameters to and from the IGIDataSourceServiceI at runtime. More...
 
class  IGIDataItemInfo
 Info class to describe current state, so that GUI can display status. More...
 
class  IGIDataSource
 Abstract base class for IGI DataSources, such as objects that produce tracking data, video frames or ultrasound frames. More...
 
class  IGIDataSourceBackgroundDeleteThread
 Thread class, based on IGITimerBasedThread to simply call "CleanBuffer". More...
 
class  IGIDataSourceBackgroundSaveThread
 Thread class, based on IGITimerBasedThread to simply call "SaveBuffer". More...
 
class  IGIDataSourceBuffer
 Manages a buffer of niftk::IGIDataType. More...
 
class  IGIDataSourceFactoryServiceI
 Interface for a factory to create niftk::IGIDataSourceServiceI. More...
 
class  IGIDataSourceFactoryServiceRAII
 RAII object to retrieve a specific IGIDataSourceFactoryServiceI subclass. More...
 
class  IGIDataSourceGrabbingThread
 
class  IGIDataSourceI
 Interface for an IGI Data Source (e.g. video feed, ultrasound feed, tracker feed). More...
 
class  IGIDataSourceLocker
 Helper class to provide a class-level counter. More...
 
class  IGIDataSourceManager
 Class to manage a list of IGIDataSources (trackers, ultra-sound machines, video etc). More...
 
class  IGIDataSourceManagerWidget
 Widget class to manage a list of IGIDataSources (trackers, ultra-sound machines, video etc). More...
 
class  IGIDataType
 Abstract base class for IGI Data, such as objects containing tracking data, video frames or ultrasound frames. More...
 
class  IGIInitialisationDialog
 Initialisation dialogs must export their properties on completion. More...
 
class  IGILocalDataSourceI
 Abstract base class for local data sources. More...
 
class  IGIOverlayWidgetPartListener
 Used to handle interaction with the contained overlay editor widget when this IGIUltrasoundOverlayEditor is opened/closed etc. More...
 
class  IGIPerspective
 Perspective to arrange widgets as would be suitable for CMIC IGI applications.Note: We have to load at least one view component, to get an editor created. More...
 
class  IGISaveableDataSourceI
 Abstract base class for data sources that can save their own buffer. More...
 
class  IGITimerBasedThread
 Base class for threads that are simply triggered off of a QTimer. More...
 
class  IGITrackerDataType
 Class to represent tracker data. More...
 
class  IGIUltrasoundOverlayEditor
 Simple editor that delegates all functionality to a niftk::IGIUltrasoundOverlayWidget, and most methods are dummy or do-nothing implementations, as the widget is for a very specific purpose and most of the mitk::ILinkedRenderWindowPart are not needed. More...
 
class  IGIUltrasoundOverlayEditorActivator
 Activator class for the IGIUltrasoundOverlayEditor. More...
 
struct  IGIUltrasoundOverlayEditorPreferencePage
 
class  IGIUltrasoundOverlayEditorPrivate
 PIMPL pattern implementation of IGIUltrasoundOverlayEditor. More...
 
class  IGIUltrasoundOverlayWidget
 A widget that contains a niftk::SingleVideoWidget and a QmitkRenderWindow, (all set to render 3D mode), and several widgets for some basic controls. More...
 
class  IGIVideoOverlayEditor
 Simple editor that delegates all functionality to a niftk::IGIVideoOverlayWidget, and most methods are dummy or do-nothing implementations, as the widget is for a very specific purpose and most of the mitk::ILinkedRenderWindowPart are not needed. More...
 
class  IGIVideoOverlayEditorActivator
 Activator class for the IGIVideoOverlayEditor. More...
 
class  IGIVideoOverlayEditorPreferencePage
 Preference page for IGIVideoOverlayEditor, eg. setting the gradient background. More...
 
class  IGIVideoOverlayEditorPrivate
 PIMPL pattern implementation of IGIVideoOverlayEditor. More...
 
class  IGIVideoOverlayWidget
 A widget that contains 3 niftk::SingleVideoWidget (left video, right video, rendered data only no video) and a QmitkRenderWindow, (all set to render 3D mode), and several widgets for some basic controls. More...
 
struct  IGIVLOverlayWidgetPartListener
 
class  IGIVLVideoOverlayEditor
 Simple editor that delegates all functionality to a niftk::VLVideoOverlayWidget, and most methods are dummy or do-nothing implementations, as the widget is for a very specific purpose and most of the mitk::ILinkedRenderWindowPart are not needed. More...
 
class  IGIVLVideoOverlayEditorActivator
 Activator class for the IGIVLVideoOverlayEditor. More...
 
class  IGIVLVideoOverlayEditorPreferencePage
 Preference page for IGIVLVideoOverlayEditor, eg. setting the gradient background. More...
 
class  IGIVLVideoOverlayEditorPrivate
 PIMPL pattern implementation of IGIVLVideoOverlayEditor. More...
 
class  IGIWaitForSavedDataSourceBuffer
 Manages a buffer of niftk::IGIDataType, where the buffer will not delete things that have not yet been saved, thereby allowing for independent save/cleardown threads. More...
 
class  ImageLookupTablesPreferencePage
 Preferences page for this plugin, enabling choice of spin box precision. More...
 
class  ImageLookupTablesView
 Provides a simple GUI enabling the selection of window, level, min, max and a choice of lookup tables. More...
 
class  ImageToSurfaceFilter
 Converts pixel data to surface data by using a threshold The mitkNifTKImageToSurfaceFilter is used to create a new surface out of an mitk image. The filter uses a threshold to define the surface. It can use two algorithms for the extraction: the vtkMarchingCube algorithm (default) and the Corrected Marching Cubes 33 method: Custodio, Lis, et al. "Practical considerations on Marching Cubes 33 topological correctness." Computers & Graphics 37.7 (2013): 840-850. More...
 
class  InteractionEventObserverMutex
 Helper class to prevent unwanted simultaneous interactions. More...
 
class  InvalidArgumentException
 Exceptions for signalling invalid input. More...
 
class  IOException
 Exceptions for Filesystem, Network, ... I/O. More...
 
class  IPHostPortDialog
 
class  IPPortDialog
 
class  itkLogHelper
 This is a class to help with a few logging functions. More...
 
class  ITKRegionParametersDataNodeProperty
 MITK data-node property suitable for holding an ITK Region, consisting of a "valid" flag, plus 6 parameters containing the index and size, as a simple vector of integers. More...
 
class  ItkSignalCollector
 Class for collecting ITK signals and sending notifications of them to registered listeners. More...
 
class  ItkSignalListener
 Abstract class to be implemented by ITK signal listeners. More...
 
class  KeepTextOutputInShell
 
class  LabeledLookupTableProperty
 Provides a property so that each value/color has an associated name. More...
 
class  LabeledLookupTablePropertySerializer
 Serializes LabeledLookupTableProperty. More...
 
class  LabelMapReader
 
class  LabelMapWriter
 Writer to save labeled lookup tables in the format of Slicer v 4.4.0. More...
 
class  LagDialog
 
class  LightweightCUDAImage
 
class  LookupTableContainer
 Class to contain a vtkLookupTable and to store meta-data attributes like display name, which order to display it in in GUI, etc. More...
 
class  LookupTableManager
 Class to manage access to LookupTableContainers. More...
 
class  LookupTableProviderService
 Service to provide lookup tables. More...
 
class  LookupTableProviderServiceImpl
 Service implementation of LookupTableProviderService. More...
 
class  LookupTableSaxHandler
 SAX handler to load lookup tables into LookupTableContainer objects. More...
 
struct  Match
 
class  MeditMeshParser
 Parses a Medit mesh (.mesh) file. More...
 
class  MergePointClouds
 
class  MeshData
 Container class for passing around data structures containing a mesh. More...
 
class  MeshGenerator
 Creates a VTK mesh using CGAL as a back-end from any single-file image volume supported by ITK. More...
 
class  MeshMerger
 
class  MeshSmoother
 This class implements various mesh smoothing algorithms and it can be used to (re)compute surface and vertex normals of a BasicMesh structure. More...
 
struct  MethodDescription
 
class  MinimalPerspective
 Default Perspective, called 'Minimal' to discourage incrementally adding to it.Note: We have to load at least one view component, to get an editor created. More...
 
class  MITKAuroraCubeDataSourceFactory
 Class to create Aurora Cube trackers. More...
 
class  MITKAuroraDomeDataSourceFactory
 Class to create Aurora Dome trackers. More...
 
class  MITKAuroraTableTopDataSourceFactory
 Class to create Aurora Table Top trackers. More...
 
class  MITKNDITracker
 RAII wrapper for MITK interface to NDI trackers. More...
 
class  MITKPolarisSpectraDataSourceFactory
 Class to create Polaris Vicra trackers. More...
 
class  MITKPolarisVicraDataSourceFactory
 Class to create Polaris Vicra trackers. More...
 
class  MITKTrackerDataSourceActivator
 Activator to register all the MITK Tracker Factories. More...
 
class  MITKTrackerDataSourceFactory
 Abstract factory class to create MITKTrackerDataSources. More...
 
class  MITKTrackerDataSourceService
 Provides a local MITK implementation of a tracker interface, as an IGIDataSourceServiceI. The other class niftk::NDITracker provides the main tracking mechanism, utilising MITK to speak to the serial port and grab data etc. This class therefore is to coordinate threads, buffers, etc. and to function as a MicroService. More...
 
class  MITKTrackerDialog
 
struct  ml
 
class  MorphologicalSegmentorActivator
 
class  MorphologicalSegmentorController
 
class  MorphologicalSegmentorGUI
 Implements a few Qt specific things that are of no interest to the MITK view class. More...
 
class  MorphologicalSegmentorPipelineManager
 Class to contain all the ITK/MITK logic for the MIDAS Morphological Segmentor pipeline, to separate from MorphologicalSegmentationView to make unit testing easier. More...
 
class  MorphologicalSegmentorPipelineManagerTestClass
 Test class for niftkMorphologicalSegmentorPipelineManagerTest. More...
 
class  MorphologicalSegmentorPreferencePage
 Preferences page for this plugin, enabling choice volume rendering on/off. More...
 
class  MorphologicalSegmentorView
 Provides the plugin component for the MIDAS brain segmentation functionality, originally developed at the Dementia Research Centre UCL. More...
 
class  MouseEventEater
 Qt event filter to eat mouse events .... More...
 
class  MultiViewerControls
 Control panel for the DnD display. More...
 
class  MultiViewerEditor
 Provides a display with with multiple image viewers on up to 5 x 5 panes of equal size in a grid layout. More...
 
struct  MultiViewerEditorPartListener
 
class  MultiViewerEditorPrivate
 
class  MultiViewerVisibilityManager
 Maintains a list of SingleViewerWidgets and coordinates visibility properties by listening to AddNodeEvent, RemoveNodeEvent and listening directly to Modified events from the nodes "visible" property in DataStorage. More...
 
class  MultiViewerWidget
 Provides up to 5 x 5 image viewing panes, arranged as rows and columns. More...
 
class  MultiViewerWidgetTestClass
 
class  MultiViewerWidgetTestClassPrivate
 
class  MultiWindowWidget
 Subclass of QmitkStdMultiWidget to provide MIDAS specific functionality by having convenient methods to control geometry, background, cursors on/off etc. via calling methods in the base class QmitkStdMultiWidget. More...
 
class  NamedLookupTableProperty
 Provides a property so we can see the lookup table name in the property window. More...
 
class  NamedLookupTablePropertySerializer
 Serializes NamedLookupTableProperty. More...
 
class  NDICAPITracker
 Interface class for Northern Digital's tracking devices. More...
 
class  NDITracker
 Base class for NifTK interfaces to NDI trackers. More...
 
class  NewSegmentationDialog
 Derives from QmitkNewSegmentationDialog, to simply set the default colour to pure green. More...
 
class  NiftyCalVideoCalibrationManager
 Manager class to perform video calibration as provided by NiftyCal. More...
 
class  NiftyIGIApplication
 Plugin class to start up the NiftyIGI application. More...
 
class  NiftyIGIAppWorkbenchAdvisor
 Advisor class to set up the initial NiftyIGI workbench. More...
 
class  NiftyIGIWorkbenchWindowAdvisor
 Advisor class to set up NiftyIGI windows on startup. More...
 
class  NiftyLinkClientDataSourceFactory
 Factory class to create NiftyLinkClientDataSourceServices. More...
 
class  NiftyLinkClientDataSourceService
 
class  NiftyLinkDataSourceActivator
 Activator to register all the Nifty Link factories. (should just be a client one, and a server one). More...
 
class  NiftyLinkDataSourceService
 Abstract base class for both NiftyLink Client and Server sources. More...
 
class  NiftyLinkDataType
 
class  NiftyLinkServerDataSourceFactory
 Factory class to create NiftyLinkServerDataSourceServices. More...
 
class  NiftyLinkServerDataSourceService
 
class  NiftyMIDASApplication
 Plugin class to start up the NiftyMIDAS application. More...
 
class  NiftyMIDASWorkbenchAdvisor
 Advisor class to set up the initial NiftyMIDAS workbench. More...
 
class  NiftyMIDASWorkbenchWindowAdvisor
 Advisor class to set up NiftyMIDAS windows on startup. More...
 
class  NiftyViewApplication
 Plugin class to start up the NiftyView application. More...
 
class  NiftyViewAppWorkbenchAdvisor
 Advisor class to set up the initial NiftyView workbench. More...
 
class  NiftyViewPreferencePage
 Preferences page for the NiftyView application, providing application wide defaults. More...
 
class  NiftyViewWorkbenchWindowAdvisor
 Advisor class to set up NiftyView windows on startup. More...
 
class  NVidiaSDIConfigDialog
 
class  NVidiaSDIDataSourceActivator
 Activator to register the NVidiaSDIDataSourceFactory. More...
 
class  NVidiaSDIDataSourceFactory
 Factory class to create NVidiaSDIDataSources. More...
 
class  NVidiaSDIDataSourceImpl
 
class  NVidiaSDIDataSourceService
 Provides an NVidia SDI video feed, as an IGIDataSourceServiceI. More...
 
class  NVidiaSDIDataType
 Class to represent video frame data from NVidia SDI, to integrate within the niftkIGI framework. More...
 
class  NVidiaSDIInitDialog
 
class  OIGTLSystemTimeService
 Implements SystemTimeServiceI using igtl::TimeStamp. More...
 
class  OIGTLSystemTimeServiceActivator
 Activator to register instances of niftk::SystemTimeServiceI. More...
 
class  OpChangeSliceCommand
 Command class for changing slice. More...
 
class  OpClean
 Class to hold data for the MIDAS "clean" command, which filters the current contour set. More...
 
class  OpenCVVideoDataSourceActivator
 Activator to register the OpenCVVideoDataSourceFactory. More...
 
class  OpenCVVideoDataSourceFactory
 Factory class to create OpenCVVideoDataSources. More...
 
class  OpenCVVideoDataSourceService
 Provides an OpenCV video feed, as an IGIDataSourceServiceI. More...
 
class  OpenCVVideoDataType
 Class to represent video frame data from OpenCV. More...
 
class  OpGeneralSegmentorBaseCommand
 Base class for General Segmentor commands. More...
 
class  OpPropagate
 Class to hold data to do propagate up/down/3D. More...
 
class  OpPropagateSeeds
 Command class to store data for propagating seeds from one slice to the next. More...
 
class  OpRetainMarks
 Command class to store data to copy one slice to the next. More...
 
class  OpThresholdApply
 Class to hold data to apply the threshold region into the segmented image. More...
 
class  OpWipe
 Class to hold data to pass back to niftkGeneralSegmentorController to Undo/Redo the Wipe commands. More...
 
class  ordered_indexed_edge
 Utility class for storing an ordered edge. More...
 
class  ordered_size_t_pair
 Utility class for storing an ordered pair of vertex indices. More...
 
class  PaintbrushTool
 Paint brush tool used during editing on the morphological editor screen (a.k.a connection breaker). More...
 
class  PaintbrushToolClass
 Test class for niftkPaintbrushTool. More...
 
class  PaintbrushToolEventInterface
 Interface class, simply to callback operations onto the PaintbrushTool. More...
 
class  PaintbrushToolGUI
 
class  PaintbrushToolOpEditImage
 Operation class to hold data to pass back to this PaintbrushTool, so that this PaintbrushTool can execute the Undo/Redo command. More...
 
class  PaintEventEater
 Qt Event Filter to eat paint events. More...
 
class  PCLData
 
class  PluginActivator
 Plugin activator for the uk.ac.ucl.cmic.common plugin. More...
 
class  PLUSNDITracker
 RAII wrapper for PLUS/Atami interface to NDI trackers. More...
 
class  PNMReaderService
 The PNMReaderService class. More...
 
class  PNMWriterService
 
class  PointBasedRegistration
 Class to implement point based registration of two point sets. More...
 
class  PointRegServiceActivator
 Activator to register instances of niftk::PointRegServiceI, currently only niftk::PointRegServiceUsingSVD. More...
 
class  PointRegServiceI
 Interface for a Point Based Registration Service. More...
 
class  PointRegServiceRAII
 RAII object to run Point Based Registration via a PointRegServiceI implementation. More...
 
class  PointRegServiceUsingSVD
 Implements niftk::PointRegServiceI using niftk::PointBasedRegistrationUsingSVD. More...
 
class  PointSetDataInteractor
 Derived from mitk::PointSetDataInteractor so we can handle the mouse move event. More...
 
class  PointSetInteractor
 Derived from mitk::PointSetInteractor so we can handle the mouse move event. More...
 
class  PointSetUpdate
 Operation class to enable updating an mitk::PointSet with Undo/Redo. More...
 
class  PolyTool
 Tool to draw poly lines around voxel edges like MIDAS does rather than through them as most of the MITK tools do. More...
 
class  PolyToolEventInterface
 Interface class, simply to callback onto PolyTool for Undo/Redo purposes. More...
 
class  PolyToolOpAddToFeedbackContour
 Operation class to hold data to pass back to this PolyTool, so that the PolyTool can execute the Undo/Redo command. More...
 
class  PolyToolOpUpdateFeedbackContour
 Operation class to hold data to pass back to this PolyTool, so that the PolyTool can execute the Undo/Redo command. More...
 
class  PosnTool
 Dummy class, as the MIDAS posn tool, just enables you to change the position of the slices in 2 or 3 windows, which is the default behaviour of the MITK ortho-viewer anyway. More...
 
struct  PropagationParameters
 
class  PropertyChangedCommand
 
class  QCPerspective
 Perspective for doing scan quality control (QC). More...
 
class  QDSInterface
 
class  QImageToMitkImageFilter
 A basic interface to produce a 2D Mitk image from a 2D QImage. Currently only supports a QImage with format. More...
 
class  QtAudioDataDialog
 
class  QtAudioDataSourceActivator
 Activator to register the QtAudioDataSourceFactory. More...
 
class  QtAudioDataSourceFactory
 Factory class to create QtAudioDataSources. More...
 
class  QtAudioDataSourceService
 Provides a feed of images from QtAudio MDP, as an IGIDataSourceServiceI. More...
 
class  QtAudioDataType
 Class to represent audio data from QtAudio. More...
 
class  QtSignalCollector
 Class for collecting Qt signals and sending notifications of them to registered listeners. More...
 
class  QtSignalListener
 Abstract class to be implemented by Qt signal listeners. More...
 
class  QtSignalNotifier
 Helper class that implements a call back mechanism for Qt signals. More...
 
struct  ReadAccessor
 
struct  RefPoint
 
struct  RegisterNifTKCoreIOObjectFactory
 
struct  RegisterNifTKCoreObjectFactory
 
struct  ScopedCUDADevice
 
struct  ScopedOGLContext
 Utility class to activate a given OpenGL context, and restore the previous one on scope-exit. More...
 
class  SeedTool
 Seed tool for adding / removing / moving seeds. More...
 
class  SegmentationNodeAddedVisibilityTestClass
 Test class for niftkSegmentationNodeAddedVisibilityTest. More...
 
class  SegmentationPerspective
 
class  SegmentationSelectorWidget
 Implements the widget to select a reference image, and create a new segmentation. More...
 
class  SequentialCpuQds
 
class  ServiceConfigurationI
 Interface to describe how any service should be configured. More...
 
class  SharedOGLContext
 
class  SideViewerView
 Base view component for MIDAS Segmentation widgets. More...
 
class  SideViewerWidget
 Qt Widget to provide a single SingleViewerWidget, and some associated buttons controlling 2/3 view, vertical/horizontal and axial/coronal/sagittal/ortho. More...
 
class  Single3DViewWidget
 Base class widget containing a single 3D render window whose purpose is to render a 3D VTK scene, blended with image data, such as might be available from video or ultrasound. More...
 
class  SingleUltrasoundWidget
 Derived from niftk::Single3DViewWidget to provide a widget that given an image, will always position the camera to face the image and scale the image to maximally fill the window. In contrast to niftk::SingleVideoWidget the image plane is a plane in 3D space, not a projection through a camera model. Therefore, the image is modelled as a texture plane, so 3D geometry objects can appear infront or behind the plane. More...
 
class  SingleVideoWidget
 Derived from niftk::Single3DViewWidget to provide a widget that given a video image, will render it at video frame rate into both the foreground and the background layer, and additionally merge VTK renderings. More...
 
class  SingleViewerControls
 Control panel for the DnD display. More...
 
class  SingleViewerEditor
 Simple image viewer that supports cursor and magnification binding. More...
 
struct  SingleViewerEditorPartListener
 
class  SingleViewerEditorPrivate
 
class  SingleViewerWidget
 A widget to wrap a single MultiWindowWidget, providing methods for switching the render window layout, remembering the last slice, magnification and cursor position. More...
 
class  SingleViewerWidgetState
 
class  SingleViewerWidgetTestClass
 
class  SingleViewerWidgetTestClassPrivate
 
class  SpectraTracker
 RAII object to connect to Polaris Spectra tracker. More...
 
class  StateMachineEventFilter
 StateMachineEventFilter represents a condition that has to be fulfilled so that an event is processed by a tool or interactor that derives from niftk::FilteringStateMachine. More...
 
class  StateMachineRendererFilter
 StateMachineRendererFilter represents a condition that allows only the events coming from certain renderers to be processed. More...
 
class  SurfaceReconstruction
 Takes image data, and calculates a surface reconstruction, and write a point cloud to mitk::DataStorage. More...
 
class  SurfaceRegServiceI
 Interface for a Surface Based Registration Service. More...
 
class  SystemTimeServiceI
 Interface for a service that can return the system time. More...
 
class  SystemTimeServiceRAII
 RAII object to retrieve the system time via a SystemTimeServiceI implementation. More...
 
class  TestICPBasedRegistration
 
class  ThumbnailInteractor
 Observer that manages the interaction with the thumbnail window. More...
 
class  ThumbnailRenderWindow
 Subclass of QmitkRenderWindow to track to another QmitkRenderWindow and provide a zoomed-out view with an overlay of a bounding box to provide the current size of the currently tracked QmitkRenderWindow's view-port size. ....The client must. More...
 
class  ThumbnailView
 Provides a thumbnail view of the currently focused QmitkRenderWindow. ....Note: This class should basically just be a wrapper that instantiates the widget QmitkThumnailRenderWindow, and does almost nothing else. Do not try and add loads more functionality here, just do the necessary plumbing. More...
 
class  ThumbnailViewPreferencePage
 Preferences page for the ThumbnailView plugin, enabling the user to set line thickness, opacity, layer, and whether to respond to mouse events. More...
 
class  Tool
 Base class for segmentor tools that need access to the list of seeds for the current reference data volume registered with the ToolManager. More...
 
class  ToolKeyPressResponder
 Pure Virtual Interface to be implemented by classes that want to respond to MIDAS key events relevant to which tool is selected where events are passed through from the MIDASToolKeyPressStateMachine which is a subclass of StateMachine, and hence registered with the interaction loop. More...
 
class  ToolKeyPressStateMachine
 
class  ToolSelectorWidget
 Implements a widget containing the QmitkToolGUIArea and QmitkToolSelectionBox. More...
 
class  ToolWorkingDataNameFilter
 A filter that returns Pass=false if the name is in the following list, and true otherwise. More...
 
class  UltrasonixDataSourceActivator
 Activator to register the UltrasonixDataSourceFactory. More...
 
class  UltrasonixDataSourceFactory
 Factory class to create UltrasonixDataSources. More...
 
class  UltrasonixDataSourceService
 Provides a feed of images from Ultrasonix MDP, as an IGIDataSourceServiceI. More...
 
class  UltrasonixDataType
 Class to represent ultrasound frame data from Ultrasonix. More...
 
class  UltrasoundPointerBasedCalibration
 Calibrates an Ultrasound Probe using LM optimisation, as described in Muratore 2001. More...
 
class  UltrasoundPointerCalibrationCostFunction
 Cost function for Ultrasound Pointer based calibration, a la Muratore 2001. More...
 
class  Undistortion
 
class  UndistortionWorker
 
struct  vec_equal
 
class  VicraTracker
 RAII object to connect to Polaris Vicra tracker. More...
 
class  VisibilityChangedCommand
 
class  VisibilityChangeObserver
 
class  VL_Clip_Mode_Property
 
class  VL_Fog_Mode_Property
 
class  VL_Point_Mode_Property
 
class  VL_Render_Mode_Property
 
class  VL_Smart_Target_Property
 
class  VL_Surface_Mode_Property
 
class  VL_Volume_Mode_Property
 
class  VLDummyData
 
class  VLGlobalSettingsDataNode
 
class  VLMapper
 A VL representation of a mitk::DataNode for rendering purposes. More...
 
class  VLMapper2DImage
 
class  VLMapper3DImage
 
class  VLMapperCoordinateAxes
 
class  VLMapperPoints
 
class  VLMapperPointSet
 
class  VLMapperSurface
 
class  VLMapperVLGlobalSettings
 
class  VLSceneView
 A vl::UIEventListener bound to a QGLWidget (niftk::VLWidget) managing all VL/Vivid rendering and options and listening to mitk::DataStorage events. More...
 
class  VLStandardDisplayEditor
 Simple editor that delegates all functionality to a niftk::VLStandardDisplayWidget, and most methods are dummy or do-nothing implementations, as the widget is for a very specific purpose and most of the mitk::ILinkedRenderWindowPart are not needed. More...
 
class  VLStandardDisplayEditorActivator
 Activator class for the VLStandardDisplayEditor. More...
 
class  VLStandardDisplayEditorPreferencePage
 Preference page for VLStandardDisplayEditor, eg. setting the background colour. More...
 
class  VLStandardDisplayEditorPrivate
 PIMPL pattern implementation of VLStandardDisplayEditor. More...
 
class  VLStandardDisplayWidget
 Contains 4 coordinated VL views for radiological viewing purposes (e.g. EpiNav project). More...
 
class  VLTrackballManipulator
 
class  VLUserData
 
class  VLUtils
 
class  VLVideoOverlayWidget
 Contains 4 coordinated VL views for AR purposes (e.g. liver project). More...
 
class  VLWidget
 A QGLWidget containing a niftk::VLSceneView. More...
 
class  VTK4PointsReader
 Reads points to a polydata object. More...
 
class  VTKIGIGeometry
 
class  VTKIterativeClosestPoint
 Uses vtkIterativeClosestPointTransform to register two vtkPolyData sets. More...
 
class  WheelEventEater
 Qt event filter to eat wheel events. More...
 
class  WindowsHotkeyHandler
 
struct  WindowsHotkeyHandlerImpl
 
struct  WriteAccessor
 

Typedefs

typedef unsigned char uchar
 
typedef signed char schar
 
typedef float real
 
typedef std::pair< int,
std::string
LabelType
 
typedef std::vector< LabelTypeLabelsListType
 
typedef std::vector< QColor > ColorListType
 
typedef QMap< QString, QVariant > IGIDataSourceProperties
 
typedef
itk::PolyLineParametricPath< 3 > 
ParametricPathType
 
typedef std::vector
< ParametricPathType::Pointer > 
ParametricPathVectorType
 
typedef
ParametricPathType::VertexListType 
ParametricPathVertexListType
 
typedef
ParametricPathType::VertexType 
ParametricPathVertexType
 
typedef itk::RGBPixel
< unsigned char > 
UCRGBPixelType
 
typedef itk::RGBAPixel
< unsigned char > 
UCRGBAPixelType
 
typedef mitk::GenericProperty
< itk::Matrix< float, 4, 4 > > 
MatrixProperty
 

Enumerations

enum  ImageOrientation { IMAGE_ORIENTATION_AXIAL = 0, IMAGE_ORIENTATION_SAGITTAL = 1, IMAGE_ORIENTATION_CORONAL = 2, IMAGE_ORIENTATION_UNKNOWN = 3 }
 Describes the different types of orientation, axial, sagittal, coronal, that can be achieved in the Drag&Drop Display windows. This is different from WindowOrientation. The orientation might be used to refer to the axis of an image, so an image can ONLY be sampled in AXIAL, SAGITTAL and CORONAL direction. More...
 
enum  WindowOrientation { WINDOW_ORIENTATION_AXIAL = 0, WINDOW_ORIENTATION_SAGITTAL = 1, WINDOW_ORIENTATION_CORONAL = 2, WINDOW_ORIENTATION_UNKNOWN = 3 }
 Describes the different types of orientation, axial, sagittal, coronal, that can be achieved in the Drag&Drop Display windows. This is different from the WindowLayout. The orientation might be used to refer to the axis of an image, so an image can ONLY be sampled in AXIAL, SAGITTAL and CORONAL direction. More...
 
enum  WindowLayout {
  WINDOW_LAYOUT_AXIAL = 0, WINDOW_LAYOUT_SAGITTAL = 1, WINDOW_LAYOUT_CORONAL = 2, WINDOW_LAYOUT_ORTHO = 3,
  WINDOW_LAYOUT_3D = 4, WINDOW_LAYOUT_3H = 5, WINDOW_LAYOUT_3V = 6, WINDOW_LAYOUT_AS_ACQUIRED = 7,
  WINDOW_LAYOUT_UNKNOWN = 8, WINDOW_LAYOUT_COR_SAG_H = 9, WINDOW_LAYOUT_COR_SAG_V = 10, WINDOW_LAYOUT_COR_AX_H = 11,
  WINDOW_LAYOUT_COR_AX_V = 12, WINDOW_LAYOUT_SAG_AX_H = 13, WINDOW_LAYOUT_SAG_AX_V = 14
}
 Describes the different render window layouts. So one WindowLayout could have multiple windows of different orientations, but most often will contain either axial, coronal or sagittal. This is different to the WindowLayout as a layout can contain multiple orientations. More...
 
enum  DnDDisplayDropType { DNDDISPLAY_DROP_SINGLE = 0, DNDDISPLAY_DROP_MULTIPLE = 1, DNDDISPLAY_DROP_ALL = 2 }
 Describes the different modes that can be used when drag and dropping into the DnD Display window. More...
 
enum  DnDDisplayInterpolationType { DNDDISPLAY_NO_INTERPOLATION, DNDDISPLAY_LINEAR_INTERPOLATION, DNDDISPLAY_CUBIC_INTERPOLATION }
 Describes what the interpolation type should be set to when an image is dropped. More...
 

Functions

std::string ConvertToString (int x)
 
std::string ConvertToString (unsigned int x)
 
std::string ConvertToString (unsigned long long x)
 
std::string ConvertToString (long int x)
 
std::string ConvertToString (long unsigned int x)
 
std::string ConvertToString (double x)
 
std::string ConvertToString (bool x)
 
std::string ConvertToString (float x)
 
int ConvertToInt (const std::string &x)
 
double ConvertToDouble (const std::string &x)
 
bool ConvertToBool (const std::string &x)
 
double CalculateVarianceFromFWHM (double fwhm)
 
double CalculateStdDevFromFWHM (double fwhm)
 
double ConvertFirstVoxelCoordinateToMiddleOfImageCoordinate (double millimetreCoordinateOfFirstVoxel, int numberOfVoxelsInThatAxis, double voxelSpacingInThatAxis)
 
double ConvertMiddleOfImageCoordinateToFirstVoxelCoordinate (double millimetreCoordinateOfMiddleVoxel, int numberOfVoxelsInThatAxis, double voxelSpacingInThatAxis)
 
double fixRangeTo1 (double d)
 
int Round (double d)
 
double Round (double d, int numberDecimalPlaces)
 
std::string GetLastNCharacters (std::string s, int n)
 
std::istream & operator>> (std::istream &str, CSVRow &data)
 
std::ostream & operator<< (std::ostream &os, const CSVRow &data)
 
std::string GetHomeDirectory ()
 
std::string GetWorkingDirectory ()
 
std::string GetNifTKHome ()
 
std::string GetEnvVar (const std::string &variableName)
 
std::string GetFileSeparator ()
 
std::string ConcatenatePath (const std::string &path, const std::string &name)
 
fs::path ConvertToFullPath (const std::string &pathName)
 
std::string ConvertToFullNativePath (const std::string &pathName)
 
std::string Basename (const std::string &pathName)
 Returns the basename. More...
 
std::string CreateUniqueTempFileName (const std::string &prefix, const std::string &suffix)
 
bool DirectoryExists (const std::string &directoryPath)
 
bool CreateDirAndParents (const std::string &directoryPath)
 
bool FileExists (const std::string &fileName)
 
bool FileDelete (const std::string &fileName)
 
int FileSize (const std::string &fileName)
 
bool FileIsEmpty (const std::string &fileName)
 
bool FilenameHasPrefixAndExtension (const std::string &filename, const std::string &prefix, const std::string &extension)
 
bool FilenameMatches (const std::string &filename, const std::string &prefix, const std::string &middle, const std::string &extension)
 
std::string GetImagesDirectory ()
 
std::vector< std::stringGetFilesInDirectory (const std::string &fullDirectoryName)
 
std::vector< std::stringGetDirectoriesInDirectory (const std::string &fullDirectoryName)
 
void GetRecursiveFilesInDirectory (const std::string &directoryName, std::vector< std::string > &fileNames)
 
bool NumericStringCompare (const std::string &string1, const std::string &string2)
 
std::vector< std::stringFindVideoData (const std::string &directory)
 
std::string FindVideoFile (const std::string &directory, const std::string &mask)
 
std::vector< std::stringFindFilesWithGivenExtension (const std::string &fullDirectoryName, const std::string &extension)
 
std::string ExtractImageFileSuffix (const std::string &fileName)
 
std::string ExtractImageFileSuffix (const std::string &fileName, std::string &fileNameWithoutSuffix)
 
std::string AddStringToImageFileSuffix (const std::string &fileName, std::string stringToAdd)
 
std::string ModifyImageFileSuffix (const std::string &fileName, std::string newSuffix)
 
std::string GetFilenameStem (const std::string &fileName)
 
std::string ModifyFileSuffix (const std::string &fileName, std::string newSuffix)
 
bool IsCloseToZero (const double &value, const double &tolerance=0.000001)
 Returns true if fabs(value) is less than a small tolerance, which defaults to 0.000001. More...
 
std::pair< double, double > FindMinimumValues (std::vector< std::pair< double, double > > inputValues, std::pair< unsigned int, unsigned int > *indexes=NULL)
 Takes a vector of pairs and finds the minimum value in each dimension. Returns the minimum values. Optionally returns the indexes of the minium values. More...
 
double RMS (const std::vector< double > &input)
 Assuming input contains squared errors, will sum them, divide by N, and take sqrt for an RMS measure. More...
 
double Mean (const std::vector< double > &input)
 To return the sample mean of a vector. More...
 
double StdDev (const std::vector< double > &input)
 To return the sample standard deviation of a vector. More...
 
double ModifiedSignum (double value)
 Returns -1.0 if value < 0 or 1.0 if value >= 0. More...
 
double SafeSQRT (double value)
 Returns 0.0 of value < 0 or sqrt(value) if value >= 0. More...
 
void NIFTKCUDAKERNELS_WINEXPORT RunUndistortionKernel (char *outputRGBA, int width, int height, cudaTextureObject_t srcTexture, const float *intrinsic3x3, const float *distortion4, cudaStream_t stream)
 Provides 2D image undistortion, given a cameras intrinsic and distortion co-efficients. More...
 
static void HandleCUDAError (cudaError_t err, const char *file, int line)
 Static method (only available to same T.U.) to print error. More...
 
int NIFTKCUDAKERNELS_WINEXPORT AddTwoIntegers (int a, int b)
 Pointless minimal function, mainly just to test if anything at all could be run on a device. More...
 
void NIFTKCUDAKERNELS_WINEXPORT RunEdgeDetectionKernel (char *outputRGBA, unsigned int outputBytePitch, const char *inputRGBA, unsigned int inputBytePitch, int width, int height, cudaStream_t stream)
 Basic example kernel to do some edge detection, but is not yet implemented. More...
 
void NIFTKCUDAKERNELS_WINEXPORT RunFlipImageKernel (char *output, int widthInBytes, int height, int outputpitchInBytes, const char *input, int inputpitchInBytes, cudaStream_t stream)
 Flips image in y-axis. More...
 
intUpperToLowerOrder (int dim)
 
intLowerToUpperOrder (int dim)
 
int SymMatDim (int count)
 
 vtkStandardNewMacro (VTK4PointsReader)
 
 vtkStandardNewMacro (BackfaceCullingFilter) BackfaceCullingFilter
 
double GetEuclideanDistanceBetweenTwo3DPoints (const double *a, const double *b)
 
double GetLength (const double *a)
 
void ScaleVector (const double &scaleFactor, const double *a, double *b)
 
void SubtractTwo3DPoints (const double *a, const double *b, double *output)
 
void AddTwo3DPoints (const double *a, const double *b, double *output)
 
void Normalise3DPoint (const double *a, const double length, double *output)
 
void NormaliseToUnitLength (const double *a, double *output)
 
void CrossProductTwo3DVectors (const double *a, const double *b, double *c)
 
void CalculateUnitVector (const double *a, const double *b, double *output)
 
double AngleBetweenTwoUnitVectors (const double *a, const double *b)
 
double AngleBetweenTwoUnitVectorsInDegrees (const double *a, const double *b)
 
bool ClipPointToWithinBoundingBox (const double *bounds, double *point)
 
double GetBoundingBoxDiagonalLength (const double *boundingBoxVector6)
 
void CopyDoubleVector (int n, const double *a, double *b)
 
void RandomTransform (vtkTransform *transform, double xtrans, double ytrans, double ztrans, double xrot, double yrot, double zrot, vtkRandomSequence *rng)
 Creates a randomly determined vtkTransform, using existing random number geneterator. More...
 
void TranslatePolyData (vtkPolyData *polydata, vtkTransform *transform)
 Translates a polydata object using a transform. More...
 
void PerturbPolyDataAlongNormal (vtkPolyData *polydata, double stdDev, vtkRandomSequence *rng)
 
void PerturbPolyData (vtkPolyData *polydata, double xerr, double yerr, double zerr, vtkRandomSequence *rng)
 Perturbs the points in a polydata object by random values, using existing random number generator. More...
 
void PerturbPolyData (vtkPolyData *polydata, double xerr, double yerr, double zerr)
 Perturbs the points in a polydata object by with random values, intialising and using it's own random number generator. More...
 
void RandomTransform (vtkTransform *transform, double xtrans, double ytrans, double ztrans, double xrot, double yrot, double zrot)
 Creates a randomly determined vtktransform, using it's own random number generator. More...
 
double NormalisedRNG (vtkRandomSequence *rng)
 Normalises the values returned by a vtk random sequence to be centred on zero. More...
 
bool DistancesToColorMap (vtkPolyData *source, vtkPolyData *target)
 Measures the euclidean distances between the points in two polydata, and sets the. More...
 
double DistanceToSurface (double point[3], vtkPolyData *target)
 Returns the euclidean distance (in 3D) between a point and the closest point on a polydata mesh. More...
 
double DistanceToSurface (double point[3], vtkCellLocator *targetLocator, vtkGenericCell *cell=NULL)
 Returns the euclidean distance (in 3D) between a point and the closest point on a polydata mesh. More...
 
void DistanceToSurface (vtkPolyData *source, vtkPolyData *target, vtkSmartPointer< vtkDoubleArray > &result)
 Calculates the euclidean distance (in 3D) between each point in the source polydata and the closest point on the target polydata mesh. The result distances are stored in the scalar values passed in. More...
 
void DistanceToSurface (vtkPolyData *source, vtkPolyData *target)
 Calculates the euclidean distance (in 3D) between each point in the source polydata and the closest point on the target polydata mesh. The result are stored the distances in the scalar values of the source. More...
 
std::string WriteMatrix4x4ToString (const vtkMatrix4x4 &matrix)
 Writes matrix out as a string, for use in SaveMatrix4x4ToFile. More...
 
bool SaveMatrix4x4ToFile (const std::string &fileName, const vtkMatrix4x4 &matrix, const bool &silent=false)
 Save the matrix to a plain text file of 4 rows of 4 space separated numbers. More...
 
vtkSmartPointer< vtkMatrix4x4 > LoadMatrix4x4FromFile (const std::string &fileName, const bool &silent=false)
 Loads the matrix from file, or else creates an Identity matrix, and the caller is responsible for deallocation. More...
 
bool MatricesAreEqual (const vtkMatrix4x4 &m1, const vtkMatrix4x4 &m2, const double &tolerance=0.01)
 Checks matrices for equality. More...
 
void SetCameraParallelTo2DImage (const int *imageSize, const int *windowSize, const double *origin, const double *spacing, const double *xAxis, const double *yAxis, const double *clippingRange, const bool &flipYAxis, vtkCamera &camera, const double &distanceToFocalPoint=-1000)
 Used to set a vtkCamera to track a 2D image, and sets the camera to parallel projection mode. More...
 
bool CropPointsFromPolyData (vtkPolyData *PolyData, int Points=200)
 Randomly removes points from the passed polydata until the passed number of points Any cells or surfaces will be deleted as part of the process, leaving only points. More...
 
void MatrixToQuaternion (const vtkMatrix4x4 &matrix, double *quaternion)
 Extracts the rotation matrix, and converts to quaternion. More...
 
void InterpolateRotation (const double *beforeRotation, const double *afterRotation, const double &weight, double *outputRotation, bool adjustSign)
 Performs spherical linear interpolation. More...
 
void InterpolateTransformationMatrix (const vtkMatrix4x4 &before, const vtkMatrix4x4 &after, const double &proportion, vtkMatrix4x4 &interpolated)
 Interpolates between two matrices. More...
 
itk::Orientation GetItkOrientation (ImageOrientation orientation)
 Converts an MITK orientation enum to an ITK orientation enum, and ideally these types should be merged. More...
 
ImageOrientation GetMitkOrientation (itk::Orientation orientation)
 Converts an ITK orientation enum to an MITK orientation enum, and ideally these types should be merged. More...
 
std::string GetOrientationName (ImageOrientation orientation)
 Returns the name of the given orientation. More...
 
int GetUpDirection (const mitk::BaseGeometry *geometry, itk::Orientation orientation)
 Returns either +1, or -1 to indicate in which direction you should change the slice number to go "up". More...
 
int GetUpDirection (const mitk::Image *image, ImageOrientation orientation)
 See GetUpDirection as in effect, we are only using the direction cosines from the geometry. More...
 
int GetThroughPlaneAxis (const mitk::Image *image, ImageOrientation orientation)
 Returns either -1 (unknown), or [0,1,2] for the x, y, or z axis corresponding to the through plane direction for the specified orientation. More...
 
std::string GetOrientationString (const mitk::Image *image)
 Returns the Orientation String (RPI, RAS etc). More...
 
void GetAxesInWorldCoordinateOrder (const mitk::Image *mitkImage, int axes[3])
 Converts between voxel coordinate order and world coordinate order. The function writes the axes of the sagittal, coronal and axial dimensions to axes, in this order: More...
 
void GetSpacingInWorldCoordinateOrder (const mitk::Image *mitkImage, mitk::Vector3D &spacing)
 Gets the spacing of the image in world coordinate order. More...
 
void GetExtentsInVxInWorldCoordinateOrder (const mitk::Image *mitkImage, mitk::Vector3D &extentsInVx)
 Gets the extents (number of voxels) of the image in world coordinate order. More...
 
void GetExtentsInMmInWorldCoordinateOrder (const mitk::Image *mitkImage, mitk::Vector3D &extentsInMm)
 Gets the extents of the image in millimetres in world coordinate order. More...
 
template<typename TPixel , unsigned int VImageDimension>
NIFTKCORE_EXPORT void GetAxesInWorldCoordinateOrder (const itk::Image< TPixel, VImageDimension > *itkImage, int axes[3])
 Converts between voxel coordinate order and world coordinate order. The function writes the axes of the sagittal, coronal and axial dimensions to axes, in this order: More...
 
template<typename TPixel , unsigned int VImageDimension>
NIFTKCORE_EXPORT void GetSpacingInWorldCoordinateOrder (const itk::Image< TPixel, VImageDimension > *itkImage, mitk::Vector3D &spacing)
 Gets the spacing of the image in world coordinate order. More...
 
template<typename TPixel , unsigned int VImageDimension>
NIFTKCORE_EXPORT void GetExtentsInVxInWorldCoordinateOrder (const itk::Image< TPixel, VImageDimension > *itkImage, mitk::Vector3D &extentsInVx)
 Gets the extents (number of voxels) of the image in world coordinate order. More...
 
template<typename TPixel , unsigned int VImageDimension>
NIFTKCORE_EXPORT void GetExtentsInMmInWorldCoordinateOrder (const itk::Image< TPixel, VImageDimension > *itkImage, mitk::Vector3D &extentsInMm)
 Gets the extents of the image in millimetres in world coordinate order. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKGetAsAcquiredOrientation (const itk::Image< TPixel, VImageDimension > *itkImage, ImageOrientation &outputOrientation)
 ITK method that given an image, returns the ImageOrientation for the XY plane. More...
 
ImageOrientation GetAsAcquiredOrientation (ImageOrientation defaultOrientation, const mitk::Image *image)
 Returns the ImageOrientation corresponding to the XY plane, or else returns the supplied default. More...
 
bool IsImage (const mitk::DataNode *node)
 Simply returns true if a node contains an image, and false otherwise. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKImagesHaveEqualIntensities (const itk::Image< TPixel, VImageDimension > *itkImage, const mitk::Image *image2, bool &output)
 
bool ImagesHaveEqualIntensities (const mitk::Image *image1, const mitk::Image *image2)
 Utility method that compares if images have the same intensity values. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKImagesHaveSameSpatialExtent (const itk::Image< TPixel, VImageDimension > *itkImage, const mitk::Image *image2, bool &output)
 
bool ImagesHaveSameSpatialExtent (const mitk::Image *image1, const mitk::Image *image2)
 Utility method that compares if images have the same spatial extent. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKFillImage (itk::Image< TPixel, VImageDimension > *itkImage, float &value)
 
void FillImage (mitk::Image *image, float value)
 Simply iterates through a whole image, filling it with the specified value which is cast to the appropriate pixel type. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKCountBetweenThreshold (const itk::Image< TPixel, VImageDimension > *itkImage, const float &lower, const float &upper, unsigned long int &outputCount)
 
NIFTKCORE_EXPORT unsigned long int CountBetweenThreshold (const mitk::Image *image, float lower, float upper)
 Simply iterates through a whole image, counting how many intensity values are >= lower and <= upper. More...
 
unsigned long int GetNumberOfVoxels (const mitk::Image *image)
 Returns the number of voxels in an image. More...
 
mitk::Point3D GetMiddlePointInVoxels (const mitk::Image *image)
 Returns the middle voxel of an image. More...
 
double GetVolume (const mitk::Image *image)
 Returns the volume of non-zero voxels in an image. More...
 
void UpdateVolumeProperty (const mitk::Image *image, mitk::DataNode *node)
 Calculates the volume of non-zero voxels in image, and creates a property "midas.volume" on the data node. More...
 
template<typename TPixel1 , unsigned int VImageDimension1, typename TPixel2 , unsigned int VImageDimension2>
void ITKCopyIntensityData (const itk::Image< TPixel1, VImageDimension1 > *itkImage1, itk::Image< TPixel2, VImageDimension2 > *itkImage2)
 ITK function to copy image data, performing C-style casting between data types. More...
 
void CopyIntensityData (const mitk::Image *input, mitk::Image *output)
 Assumes same size image, and same data type, and copies data from the input image to the output image. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKDumpImage (const itk::Image< TPixel, VImageDimension > *itkImage, const std::string &filename)
 Writes the image to file. More...
 
void DumpImage (const mitk::Image *input, const std::string &fileName)
 Writes the image to file. More...
 
mitk::Vector3D GetXYAspectRatio (const mitk::Image::Pointer image)
 Utility method to calculate the aspect ratio. More...
 
double CalculateStepSize (double *spacing)
 Given a double[3] of x,y,z voxel spacing, calculates a step size along a ray, as 1/3 of the smallest voxel dimension. More...
 
bool AreDifferent (const mitk::Point3D &a, const mitk::Point3D &b)
 Returns true if a and b are different (up to a given tolerance, currently 0.01), and false otherwise. More...
 
double GetSquaredDistanceBetweenPoints (const mitk::Point3D &a, const mitk::Point3D &b)
 Returns the squared Euclidean distance between a and b. More...
 
double GetRMSErrorBetweenPoints (const mitk::PointSet &fixed, const mitk::PointSet &moving, const CoordinateAxesData *const transform=NULL)
 Gets the RMS error between fixed point set and a moving point set, with optional transform specified. More...
 
void GetDifference (const mitk::Point3D &a, const mitk::Point3D &b, mitk::Point3D &output)
 Returns as output the vector difference of a-b. More...
 
double Length (mitk::Point3D &vector)
 Given a vector, will calculate the length. More...
 
void Normalise (mitk::Point3D &vector)
 Given a vector, will normalise it to unit length. More...
 
double FindLargestDistanceBetweenTwoPoints (const mitk::PointSet &input)
 Computes the largest Euclidean Distance between any two points. More...
 
int CopyPointSets (const mitk::PointSet &input, mitk::PointSet &output)
 Copies input to output, i.e. the output is erased, and re-populated. More...
 
void ScalePointSets (const mitk::PointSet &input, mitk::PointSet &output, double scaleFactor)
 Copies input to output, i.e. the output is erased, and re-populated, multiplying by a scale factor. More...
 
void CopyValues (const mitk::Point3D &a, mitk::Point3D &b)
 Copies a into b. More...
 
void CrossProduct (const mitk::Point3D &a, const mitk::Point3D &b, mitk::Point3D &c)
 Computes c = a x b, and will normalise a and b to unit length first. More...
 
void ComputeNormalFromPoints (const mitk::Point3D &a, const mitk::Point3D &b, const mitk::Point3D &c, mitk::Point3D &output)
 Computes the normal by calculating cross product of (a-b) and (c-b). More...
 
void TransformPointByVtkMatrix (const vtkMatrix4x4 *matrix, const bool &isNormal, mitk::Point3D &pointOrNormal)
 Simple method to multiply a mitk::Point3D by a vtkMatrix, if the matrix is not NULL, and otherwise if matrix is NULL, will simply leave the point un-altered. More...
 
void TransformPointsByVtkMatrix (const mitk::PointSet &input, const vtkMatrix4x4 &matrix, mitk::PointSet &output)
 Multiplies one point set by a matrix. More...
 
int FilterMatchingPoints (const mitk::PointSet &fixedPointsIn, const mitk::PointSet &movingPointsIn, mitk::PointSet &fixedPointsOut, mitk::PointSet &movingPointsOut)
 Takes fixed and moving points, and scans for matching ID's and returns 2 point sets with ordered and corresponding points. More...
 
int RemoveNaNPoints (const mitk::PointSet &pointsIn, mitk::PointSet &pointsOut)
 Takes a point set and scans for matching NaN's and returns a point set with the offending points removed. More...
 
bool CheckForNaNPoint (const mitk::PointSet::PointType &point)
 Checks if the point contains a NaN value. More...
 
mitk::Point3D ComputeCentroid (const mitk::PointSet &input)
 Computes the mean/centroid of an mitk::PointSet. More...
 
std::ostream & operator<< (std::ostream &os, const BasicTriangle &to)
 
std::ostream & operator<< (std::ostream &os, const BasicVec3D &vo)
 
std::ostream & operator<< (std::ostream &os, const BasicVertex &vo)
 
mitk::DataNode::Pointer FindFirstParentImage (const mitk::DataStorage *storage, const mitk::DataNode::Pointer node, bool lookForBinary)
 
mitk::DataStorage::SetOfObjects::Pointer FindDerivedVisibleNonHelperChildren (const mitk::DataStorage *storage, const mitk::DataNode::Pointer node)
 
mitk::DataStorage::SetOfObjects::Pointer FindDerivedImages (const mitk::DataStorage *storage, const mitk::DataNode::Pointer node, bool lookForBinary)
 
bool IsNodeAHelperObject (const mitk::DataNode *node)
 
bool IsNodeAGreyScaleImage (const mitk::DataNode::Pointer node)
 
bool IsNodeABinaryImage (const mitk::DataNode::Pointer node)
 
mitk::DataNode::Pointer FindNthImage (const std::vector< mitk::DataNode * > &nodes, int n, bool lookForBinary)
 
mitk::DataNode::Pointer FindNthGreyScaleImage (const std::vector< mitk::DataNode * > &nodes, int n)
 
mitk::DataNode::Pointer FindNthBinaryImage (const std::vector< mitk::DataNode * > &nodes, int n)
 
mitk::DataNode::Pointer FindFirstGreyScaleImage (const std::vector< mitk::DataNode * > &nodes)
 
mitk::DataNode::Pointer FindFirstBinaryImage (const std::vector< mitk::DataNode * > &nodes)
 
mitk::DataNode::Pointer FindFirstParent (const mitk::DataStorage *storage, const mitk::DataNode::Pointer node)
 
mitk::DataNode::Pointer FindParentGreyScaleImage (const mitk::DataStorage *storage, const mitk::DataNode::Pointer node)
 
mitk::TimeGeometry::Pointer GetPreferredGeometry (const mitk::DataStorage *dataStorage, const std::vector< mitk::DataNode * > &nodes, const int &nodeIndex=-1)
 GetPreferedGeometry will return the geometry to use by picking one from the list of nodes, or NULL, if none can be found. More...
 
void LoadMatrixOrCreateDefault (const std::string &fileName, const std::string &nodeName, const bool &helperObject, mitk::DataStorage *dataStorage)
 Loads a 4x4 matrix from a plain textfile, and puts in data storage with the given nodeName, or else creates Identity matrix. More...
 
void GetCurrentTransformFromNode (const mitk::DataNode::Pointer &node, vtkMatrix4x4 &outputMatrix)
 Retrieves the current tranform from the mitk::Geometry object of an mitk::DataNode. More...
 
void ComposeTransformWithNode (const vtkMatrix4x4 &transform, mitk::DataNode::Pointer &node)
 Composes (pre-multiplies) the given transform with the given node. More...
 
void ApplyTransformToNode (const vtkMatrix4x4 &transform, mitk::DataNode::Pointer &node)
 Applies (sets, i.e. copies) the given transform to the given node. More...
 
bool LoadDoublesFromFile (const std::string &fileName, std::vector< double > &output)
 
bool Load2DPointFromFile (const std::string &fileName, mitk::Point2D &point)
 Loads a 2D point from file, returning true if successful and false otherwise. More...
 
bool Load3DPointFromFile (const std::string &fileName, mitk::Point3D &point)
 Loads a 3D point from file, returning true if successful and false otherwise. More...
 
vtkSmartPointer< vtkMatrix4x4 > LoadVtkMatrix4x4FromFile (const std::string &fileName)
 Load a plain text file of 4 rows of 4 space separated numbers into a vtkMatrix4x4. More...
 
bool SaveVtkMatrix4x4ToFile (const std::string &fileName, const vtkMatrix4x4 &matrix)
 Save the matrix to a plain text file of 4 rows of 4 space separated numbers. More...
 
std::vector
< mitk::PointSet::Pointer > 
LoadPointSetsFromDirectory (const std::string fullDirectoryName)
 Loads all point sets from directory. More...
 
void LoadTimeStampData (const std::string &fileName, std::set< unsigned long long > &outputTimeStamps)
 Loads a list of timestamps from a file. More...
 
vtkLookupTable * ChangeColor (vtkLookupTable *lut, int value, const QColor &newColor)
 Replace the color in the LookupTable at the given index. More...
 
vtkLookupTable * SwapColors (vtkLookupTable *lut, int value1, int value2)
 Swap colors in the LookupTable at the given indices. More...
 
vtkLookupTable * ResizeLookupTable (vtkLookupTable *lut, double newMaximum)
 Resize the LookupTable while retaining all of the previously set values. Newly added values are assigned the nan color. More...
 
vtkLookupTable * CreateEmptyLookupTable (const QColor &lowColor, const QColor &highColor)
 
void TestInstantiation ()
 
void TestIdentity ()
 
void TestSetGet ()
 
void TestErrorConditions ()
 
void TestSimpleCases ()
 
void TestCalculateStepSize ()
 
void TestAreDifferent ()
 
void TestGetSquaredDistanceBetweenPoints ()
 
void TestGetDifference ()
 
void TestNormalise ()
 
void TestFindLargestDistanceBetweenTwoPoints ()
 
void TestScalePointSets ()
 
void TestComputeNormalFromPoints ()
 
void TestFilterMatchingPoints ()
 
void TestRemoveNaNPoints ()
 
void TestCheckForNaNPoint ()
 
void TestRMS ()
 
void UndistortionLauncher (char *hostInputImageData, int width, int height, int widthStep, float *intrinsics, float *distortion, char *hostOutputImageData)
 Runs the CUDA based image undistortion. More...
 
static bool CUDADelayLoadCheck ()
 
void EdgeDetectionExampleLauncher (mitk::DataStorage *dataStorage, mitk::DataNode *node, const mitk::BaseRenderer *renderer)
 Runs edge detection on an MITK DataNode containing a niftk::CUDAImage. More...
 
void FlipImageLauncher (const WriteAccessor &src, WriteAccessor &dest, cudaStream_t stream)
 Flips the image upside down. This implementation is likely not very efficient. More...
 
void FlipImageLauncher (const ReadAccessor &src, WriteAccessor &dest, cudaStream_t stream)
 Flips the image upside down. This implementation is likely not very efficient. More...
 
void Producer (const mitk::StandaloneDataStorage::Pointer &datastorage)
 
void Consumer (const mitk::StandaloneDataStorage::Pointer &datastorage)
 
void AnotherConsumer (const mitk::StandaloneDataStorage::Pointer &datastorage)
 
void WaitForResult (const mitk::StandaloneDataStorage::Pointer &datastorage)
 
void RefcountTest (const mitk::StandaloneDataStorage::Pointer &datastorage)
 
bool IsSingleWindowLayout (WindowLayout layout)
 Returns true if the layout contains only one window, otherwise false. More...
 
bool IsMultiWindowLayout (WindowLayout layout)
 Returns true if the layout contains multiple windows, otherwise false. More...
 
WindowLayout GetWindowLayout (const std::string &windowLayoutName)
 
static bool EqualsWithTolerance1 (const mitk::Point3D &worldPosition1, const mitk::Point3D &worldPosition2, double tolerance=0.001)
 
static bool EqualsWithTolerance (const mitk::Vector2D &cursorPosition1, const mitk::Vector2D &cursorPosition2, double tolerance=0.01)
 
QString GetPreferredSlash ()
 Returns the platform specific directory separator. More...
 
void ProbeTimeStampFiles (QDir path, const QString &suffix, std::set< niftk::IGIDataType::IGITimeType > &timeStamps)
 Scans the path for individual files that match a timestamp pattern and suffix. More...
 
void ProbeTimeStampFiles (QDir path, const QString &suffix, std::set< niftk::IGIDataType::IGITimeType > &timeStamps, QHash< niftk::IGIDataType::IGITimeType, QString > &timeStampToFileName)
 Scans the path for individual files that match a timestamp pattern and suffix. More...
 
void GetPlaybackIndex (const QString &directory, const QString &fileExtension, QMap< QString, std::set< niftk::IGIDataType::IGITimeType > > &bufferToTimeStamp, QMap< QString, QHash< niftk::IGIDataType::IGITimeType, QStringList > > &bufferToTimeStampToFileNames)
 Returns the list of timestamps, by source name. More...
 
bool ProbeRecordedData (const QString &path, const QString &fileExtension, niftk::IGIDataType::IGITimeType *firstTimeStampInStore, niftk::IGIDataType::IGITimeType *lastTimeStampInStore)
 Returns the minimum and maximum timestamped of all files under the specified path, with the specified fileExtension, that look like they are timestamped. More...
 
void ConvertMITKSeedsAndAppendToITKSeeds (const mitk::PointSet *seeds, itk::PointSet< float, 3 > *points)
 This file contains functions that convert between ITK and MITK contour representations. More...
 
void ConvertMITKContoursAndAppendToITKContours (mitk::ContourModelSet *mitkContours, std::vector< ParametricPathType::Pointer > &itkContours, const mitk::Vector3D &spacingInWorldCoordinateOrder)
 
void NIFTKMIDAS_EXPORT ConvertMITKContoursAndAppendToITKContours (mitk::ContourModelSet *mitkContours, ParametricPathVectorType &itkContours, const mitk::Vector3D &spacing)
 Converts MITK contours from to ITK contours and appends them to a list. More...
 
void GenerateOutlineFromBinaryImage (mitk::Image::Pointer image, int sliceAxis, int sliceIndex, int projectedSliceNumber, mitk::ContourModelSet *outputContourSet)
 Used to generate a contour outline round a binary segmentation image, and refreshes the outputSurface. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKFillRegion (itk::Image< TPixel, VImageDimension > *itkImage, const typename itk::Image< TPixel, VImageDimension >::RegionType &region, TPixel fillValue)
 Fills the itkImage region with the fillValue. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKClearImage (itk::Image< TPixel, VImageDimension > *itkImage)
 Clears an image by setting all voxels to zero using ITKFillRegion. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKCopyImage (const itk::Image< TPixel, VImageDimension > *input, itk::Image< TPixel, VImageDimension > *output)
 Copies an image from input to output, assuming input and output already allocated and of the same size. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKCopyRegion (const itk::Image< TPixel, VImageDimension > *input, int sliceAxis, int sliceIndex, itk::Image< TPixel, VImageDimension > *output)
 Copies the region from input to output, assuming both images are the same size, and contain the region. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKCalculateSliceRegion (const itk::Image< TPixel, VImageDimension > *itkImage, int sliceAxis, int sliceIndex, typename itk::Image< TPixel, VImageDimension >::RegionType &outputRegion)
 Calculates the region corresponding to a single slice. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKCalculateSliceRegionAsVector (const itk::Image< TPixel, VImageDimension > *itkImage, int sliceAxis, int sliceIndex, std::vector< int > &outputRegion)
 Calculates the region corresponding to a single slice. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKClearSlice (itk::Image< TPixel, VImageDimension > *itkImage, int sliceAxis, int sliceIndex)
 Clears a slice by setting all voxels to zero for a given slice and axis. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKFilterSeedsToCurrentSlice (const itk::Image< TPixel, VImageDimension > *itkImage, const mitk::PointSet *inputSeeds, int sliceAxis, int sliceIndex, mitk::PointSet *outputSeeds)
 Takes the inputSeeds and filters them so that outputSeeds contains just those seeds contained within the current slice. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKRecalculateMinAndMaxOfSeedValues (const itk::Image< TPixel, VImageDimension > *itkImage, const mitk::PointSet *inputSeeds, int sliceAxis, int sliceIndex, double &min, double &max)
 Called from RecalculateMinAndMaxOfSeedValues(), the actual method in ITK that recalculates the min and max intensity value of all the voxel locations given by the seeds. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKFilterInputPointSetToExcludeRegionOfInterest (const itk::Image< TPixel, VImageDimension > *itkImage, const typename itk::Image< TPixel, VImageDimension >::RegionType &regionOfInterest, const mitk::PointSet *inputSeeds, mitk::PointSet *outputCopyOfInputSeeds, mitk::PointSet *outputNewSeedsNotInRegionOfInterest)
 Takes the inputSeeds and copies them to outputCopyOfInputSeeds, and also copies seeds to outputNewSeedsNotInRegionOfInterest if the seed is not within the region of interest. More...
 
template<typename TPixel , unsigned int VImageDimension>
bool ITKSliceDoesHaveSeeds (const itk::Image< TPixel, VImageDimension > *itkImage, const mitk::PointSet *seeds, int sliceAxis, int sliceIndex)
 Will return true if the given slice has seeds within that slice. More...
 
template<typename TPixel , unsigned int VImageDimension>
bool ITKSliceIsEmpty (const itk::Image< TPixel, VImageDimension > *itkImage, int sliceAxis, int sliceIndex, bool &outputSliceIsEmpty)
 Creates a region of interest within itkImage corresponding to the given slice, and checks if it is empty returning true if it is all zero. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKUpdateRegionGrowing (const itk::Image< TPixel, VImageDimension > *itkImage, bool skipUpdate, const mitk::Image *workingImage, const mitk::PointSet *seeds, mitk::ContourModelSet *segmentationContours, mitk::ContourModelSet *drawContours, mitk::ContourModelSet *polyContours, int sliceAxis, int sliceIndex, double lowerThreshold, double upperThreshold, mitk::Image *outputRegionGrowingImage)
 Called from UpdateRegionGrowing(), updates the interactive ITK single 2D slice region growing pipeline. Note: segmentationContours, drawContours and polyContours could be const pointers, but some const functions are missing from mitk::ContourModelSet. They are not modified from within this function (including transitive calls). More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKPropagateToRegionGrowingImage (const itk::Image< TPixel, VImageDimension > *itkImage, const mitk::PointSet *inputSeeds, int sliceAxis, int sliceIndex, int direction, double lowerThreshold, double upperThreshold, mitk::PointSet *outputCopyOfInputSeeds, mitk::PointSet *outputNewSeeds, std::vector< int > &outputRegion, mitk::Image *outputRegionGrowingImage)
 Method takes all the input, and calculates the 3D propagated region (up or down or 3D), and stores it in the region growing node. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKPropagateUpOrDown (const itk::Image< TPixel, VImageDimension > *itkImage, const mitk::PointSet *seeds, int sliceAxis, int sliceIndex, int direction, double lowerThreshold, double upperThreshold, mitk::Image *outputRegionGrowingImage)
 Called from ITKPropagateToRegionGrowingImage to propagate up or down. More...
 
template<typename TGreyScalePixel , unsigned int VImageDimension>
void ITKPropagateToSegmentationImage (const itk::Image< TGreyScalePixel, VImageDimension > *itkImage, mitk::Image *segmentedImage, mitk::Image *regionGrowingImage, OpPropagate *op)
 Called from the ExecuteOperate (i.e. undo/redo framework) to actually apply the calculated propagated region to the current segmentation. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKGenerateOutlineFromBinaryImage (const itk::Image< TPixel, VImageDimension > *itkImage, int sliceAxis, int sliceIndex, int projectedSliceIndex, mitk::ContourModelSet *contourSet)
 Called to extract a contour set from a binary image, as might be used for "See Prior", "See Next", or the outlining a binary segmentation. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKGetLargestMinimumDistanceSeedLocation (const itk::Image< TPixel, VImageDimension > *itkImage, TPixel foregroundPixelValue, typename itk::Image< TPixel, VImageDimension >::IndexType &outputSeedIndex, int &outputDistance)
 Works out the largest minimum distance to the edge of the image data, filtered on a given foregroundPixelValue. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKAddNewSeedsToPointSet (const itk::Image< TPixel, VImageDimension > *itkImage, const typename itk::Image< TPixel, VImageDimension >::RegionType &regionOfInterest, int sliceAxis, mitk::PointSet *outputNewSeeds)
 For the given input itkImage (assumed to always be binary), and regionOfInterest, will iterate on a slice by slice basis, recalculating new seeds. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKPreprocessingOfSeedsForChangingSlice (const itk::Image< TPixel, VImageDimension > *itkImage, const mitk::PointSet *inputSeeds, int oldSliceAxis, int oldSliceIndex, int newSliceAxis, int newSliceIndex, bool optimiseSeedPosition, bool newSliceIsEmpty, mitk::PointSet *outputCopyOfInputSeeds, mitk::PointSet *outputNewSeeds, std::vector< int > &outputRegion)
 Does any pre-processing of seeds necessary to facilitate Undo/Redo for Threshold Apply, and also changing slice. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKPreprocessingForWipe (const itk::Image< TPixel, VImageDimension > *itkImage, const mitk::PointSet *inputSeeds, int sliceAxis, int sliceIndex, int direction, mitk::PointSet *outputCopyOfInputSeeds, mitk::PointSet *outputNewSeeds, std::vector< int > &outputRegion)
 Does any pre-processing necessary to facilitate Undo/Redo for Wipe commands, which in this case means computing a new list of seeds, and the region of interest to be wiped. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKDoWipe (itk::Image< TPixel, VImageDimension > *itkImage, mitk::PointSet *currentSeeds, OpWipe *op)
 Does the wipe command for Wipe, Wipe+, Wipe-. More...
 
template<typename TPixel , unsigned int VImageDimension>
bool ITKImageHasNonZeroEdgePixels (const itk::Image< TPixel, VImageDimension > *itkImage)
 Returns true if the image has non-zero edge pixels, and false otherwise. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKSliceDoesHaveUnenclosedSeeds (const itk::Image< TPixel, VImageDimension > *itkImage, const mitk::PointSet *seeds, mitk::ContourModelSet *segmentationContours, mitk::ContourModelSet *polyToolContours, mitk::ContourModelSet *drawToolContours, const mitk::Image *workingImage, double lowerThreshold, double upperThreshold, bool useThresholds, int sliceAxis, int sliceIndex, bool &sliceDoesHaveUnenclosedSeeds)
 Will return true if slice has unenclosed seeds, and false otherwise. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKFilterContours (const itk::Image< TPixel, VImageDimension > *itkImage, const mitk::Image *workingImage, const mitk::PointSet *seeds, mitk::ContourModelSet *segmentationContours, mitk::ContourModelSet *drawContours, mitk::ContourModelSet *polyContours, int sliceAxis, int sliceIndex, double lowerThreshold, double upperThreshold, bool isThresholding, mitk::ContourModelSet *outputCopyOfInputContours, mitk::ContourModelSet *outputContours)
 Extracts a new contour set, for doing "Clean" operation. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKPropagateSeedsToNewSlice (const itk::Image< TPixel, VImageDimension > *itkImage, const mitk::PointSet *currentSeeds, mitk::PointSet *newSeeds, int sliceAxis, int oldSliceIndex, int newSliceIndex)
 Given an image, and a set of seeds, will append new seeds in the new slice if necessary. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKDestroyPipeline (const itk::Image< TPixel, VImageDimension > *itkImage)
 Completely removes the current 2D region growing pipeline that is stored in the map m_TypeToPipelineMap. More...
 
template<typename TPixel , unsigned int VImageDimension>
void ITKInitialiseSeedsForSlice (const itk::Image< TPixel, VImageDimension > *itkImage, mitk::PointSet *seeds, int sliceAxis, int sliceIndex)
 Creates seeds for each distinct 4-connected region for a given slice. More...
 
 NIFTK_TOOL_MACRO (NIFTKMIDAS_EXPORT, PosnTool,"Posn Tool")
 
static bool CUDADelayLoadCheck ()
 
static void check_oglerror (const std::string &detailedmsg)
 
template<typename PropType >
static void CopyProp (const mitk::DataNode::Pointer source, mitk::Image::Pointer target, const char *name)
 
template<typename ITKPixelType >
static mitk::Image::Pointer CreateMitkImageInternal (const IplImage *image)
 
mitk::Image::Pointer CreateMitkImage (const IplImage *image)
 
mitk::Image::Pointer CreateMitkImage (const cv::Mat *image)
 
cv::Mat MitkImageToOpenCVMat (const mitk::Image::Pointer image)
 
void BuildTextureDescriptor (const boost::gil::gray8c_view_t src, const boost::gil::gray8_view_t dst)
 
float Zncc_C1 (int p0x, int p0y, int p1x, int p1y, int w, boost::gil::gray8c_view_t img0, boost::gil::gray8c_view_t img1, boost::gil::gray32sc_view_t integral0, boost::gil::gray32sc_view_t integral1, boost::gil::gray64fc_view_t square0, boost::gil::gray64fc_view_t square1)
 
static bool CheckBorder (const Match &m, int bx, int by, int w, int h)
 
template<typename ITKPixelType >
static mitk::Image::Pointer CreateMitkImageInternal (const IplImage *image)
 
cv::Matx33d CalculateCrossCovarianceH (const std::vector< cv::Point3d > &q, const std::vector< cv::Point3d > &qPrime)
 Calculates 1/N Sum (q_i * qPrime_i^t) where q_i and qPrime_i are column vectors, so the product is a 3x3 matrix. More...
 
double DoSVDPointBasedRegistration (const std::vector< cv::Point3d > &fixedPoints, const std::vector< cv::Point3d > &movingPoints, cv::Matx33d &H, cv::Point3d &p, cv::Point3d &pPrime, cv::Matx44d &outputMatrix)
 Does the main SVD bit of the point based registration, and handles the degenerate conditions mentioned in Aruns paper. More...
 
double CalculateFiducialRegistrationError (const std::vector< cv::Point3d > &fixedPoints, const std::vector< cv::Point3d > &movingPoints, const cv::Matx44d &matrix)
 Calculates Fiducial Registration Error by multiplying the movingPoints by the matrix, and comparing with fixedPoints. More...
 
double CalculateFiducialRegistrationError (const mitk::PointSet::Pointer &fixedPointSet, const mitk::PointSet::Pointer &movingPointSet, vtkMatrix4x4 &vtkMatrix)
 Converts format of input to call the other CalculateFiducialRegistrationError method. More...
 
double PointBasedRegistrationUsingSVD (const std::vector< cv::Point3d > &fixedPoints, const std::vector< cv::Point3d > &movingPoints, cv::Matx44d &outputMatrix)
 Does Point Based Registration of two same sized, corresponding, ordered point sets. More...
 
double PointBasedRegistrationUsingSVD (const mitk::PointSet::Pointer fixedPoints, const mitk::PointSet::Pointer movingPoints, vtkMatrix4x4 &matrix)
 Overloaded method for MITK and VTK data types. More...
 
double PointAndNormalBasedRegistrationUsingSVD (const std::vector< cv::Point3d > &fixedPoints, const std::vector< cv::Point3d > &fixedNormals, const std::vector< cv::Point3d > &movingPoints, const std::vector< cv::Point3d > &movingNormals, cv::Matx44d &outputMatrix)
 Does Point Based Registration of two same sized, corresponding point sets. More...
 
double PointAndNormalBasedRegistrationUsingSVD (const mitk::PointSet::Pointer fixedPoints, const mitk::PointSet::Pointer fixedNormals, const mitk::PointSet::Pointer movingPoints, const mitk::PointSet::Pointer movingNormals, vtkMatrix4x4 &matrix)
 Overloaded method for MITK and VTK data types. More...
 

Variables

static const char * type []
 
int tunnelOrientation = 0
 
static
RegisterNifTKCoreObjectFactory 
registerNifTKCoreObjectFactory
 
static
RegisterNifTKCoreIOObjectFactory 
registerNifTKCoreIOObjectFactory
 
impldetail::ModuleCleanup s_ModuleCleaner
 
const int WINDOW_ORIENTATION_NUMBER = 4
 The number of the possible orientations. More...
 
const int WINDOW_LAYOUT_NUMBER = 15
 The number of the possible window layouts. More...
 
const mitk::OperationType OP_CHANGE_SLICE = 9320411
 
const mitk::OperationType OP_PROPAGATE_SEEDS = 9320412
 
const mitk::OperationType OP_RETAIN_MARKS = 9320413
 
const mitk::OperationType OP_THRESHOLD_APPLY = 9320414
 
const mitk::OperationType OP_CLEAN = 9320415
 
const mitk::OperationType OP_WIPE = 9320416
 
const mitk::OperationType OP_PROPAGATE = 9320417
 
const int VIRTUAL_SROM_SIZE =1024
 
static const MethodDescription s_AvailableMethods []
 
const QString IMAGE_INITIALISATION_METHOD_NAME
 
const QString IMAGE_INITIALISATION_MIDAS
 
const QString IMAGE_INITIALISATION_LEVELWINDOW
 
const QString IMAGE_INITIALISATION_PERCENTAGE
 
const QString IMAGE_INITIALISATION_PERCENTAGE_NAME
 
const QString IMAGE_INITIALISATION_RANGE
 
const QString IMAGE_INITIALISATION_RANGE_LOWER_BOUND_NAME
 
const QString IMAGE_INITIALISATION_RANGE_UPPER_BOUND_NAME
 

Typedef Documentation

typedef std::vector<QColor> niftk::ColorListType
typedef QMap<QString, QVariant> niftk::IGIDataSourceProperties
typedef std::vector<LabelType> niftk::LabelsListType
typedef std::pair<int, std::string> niftk::LabelType

Basic label typedefs

typedef mitk::GenericProperty<itk::Matrix<float, 4, 4> > niftk::MatrixProperty
typedef itk::PolyLineParametricPath<3> niftk::ParametricPathType
typedef std::vector<ParametricPathType::Pointer> niftk::ParametricPathVectorType
typedef ParametricPathType::VertexListType niftk::ParametricPathVertexListType
typedef ParametricPathType::VertexType niftk::ParametricPathVertexType
typedef float niftk::real

isovalue alias

typedef signed char niftk::schar

signed char alias

typedef unsigned char niftk::uchar

unsigned char alias

typedef itk::RGBAPixel< unsigned char > niftk::UCRGBAPixelType
typedef itk::RGBPixel< unsigned char > niftk::UCRGBPixelType

Enumeration Type Documentation

Describes the different modes that can be used when drag and dropping into the DnD Display window.

Enumerator
DNDDISPLAY_DROP_SINGLE 
DNDDISPLAY_DROP_MULTIPLE 

This means that multiple nodes are dropped into a single window.

DNDDISPLAY_DROP_ALL 

This means that multiple nodes are dropped across multiple windows.

Describes what the interpolation type should be set to when an image is dropped.

Enumerator
DNDDISPLAY_NO_INTERPOLATION 
DNDDISPLAY_LINEAR_INTERPOLATION 
DNDDISPLAY_CUBIC_INTERPOLATION 

Describes the different types of orientation, axial, sagittal, coronal, that can be achieved in the Drag&Drop Display windows. This is different from WindowOrientation. The orientation might be used to refer to the axis of an image, so an image can ONLY be sampled in AXIAL, SAGITTAL and CORONAL direction.

Enumerator
IMAGE_ORIENTATION_AXIAL 
IMAGE_ORIENTATION_SAGITTAL 
IMAGE_ORIENTATION_CORONAL 
IMAGE_ORIENTATION_UNKNOWN 

Describes the different render window layouts. So one WindowLayout could have multiple windows of different orientations, but most often will contain either axial, coronal or sagittal. This is different to the WindowLayout as a layout can contain multiple orientations.

Enumerator
WINDOW_LAYOUT_AXIAL 
WINDOW_LAYOUT_SAGITTAL 
WINDOW_LAYOUT_CORONAL 
WINDOW_LAYOUT_ORTHO 
WINDOW_LAYOUT_3D 
WINDOW_LAYOUT_3H 
WINDOW_LAYOUT_3V 
WINDOW_LAYOUT_AS_ACQUIRED 
WINDOW_LAYOUT_UNKNOWN 
WINDOW_LAYOUT_COR_SAG_H 
WINDOW_LAYOUT_COR_SAG_V 
WINDOW_LAYOUT_COR_AX_H 
WINDOW_LAYOUT_COR_AX_V 
WINDOW_LAYOUT_SAG_AX_H 
WINDOW_LAYOUT_SAG_AX_V 

Describes the different types of orientation, axial, sagittal, coronal, that can be achieved in the Drag&Drop Display windows. This is different from the WindowLayout. The orientation might be used to refer to the axis of an image, so an image can ONLY be sampled in AXIAL, SAGITTAL and CORONAL direction.

Enumerator
WINDOW_ORIENTATION_AXIAL 
WINDOW_ORIENTATION_SAGITTAL 
WINDOW_ORIENTATION_CORONAL 
WINDOW_ORIENTATION_UNKNOWN 

Function Documentation

NIFTKCOMMON_WINEXPORT std::string niftk::AddStringToImageFileSuffix ( const std::string fileName,
std::string  stringToAdd 
)

Add a string just before the image suffix of a file name including the .gz or .zip extension if present.

Parameters
fileNameThe input image file name.
stringToAddThe string to add just before the image suffix.
Returns
The image file name with the text added just before the image suffix.
NIFTKVTK_WINEXPORT void niftk::AddTwo3DPoints ( const double *  a,
const double *  b,
double *  output 
)

Adds two 3D points, so a, b and output must be arrays of length 3.

int NIFTKCUDAKERNELS_WINEXPORT niftk::AddTwoIntegers ( int  a,
int  b 
)

Pointless minimal function, mainly just to test if anything at all could be run on a device.

NIFTKVTK_WINEXPORT double niftk::AngleBetweenTwoUnitVectors ( const double *  a,
const double *  b 
)

Calculates the angle in radians between two vectors a and b, which must be of length 3.

NIFTKVTK_WINEXPORT double niftk::AngleBetweenTwoUnitVectorsInDegrees ( const double *  a,
const double *  b 
)

Calculates the angle in degrees between two vectors a and b, which must be of length 3.

void niftk::AnotherConsumer ( const mitk::StandaloneDataStorage::Pointer &  datastorage)
NIFTKCORE_EXPORT void niftk::ApplyTransformToNode ( const vtkMatrix4x4 &  transform,
mitk::DataNode::Pointer &  node 
)

Applies (sets, i.e. copies) the given transform to the given node.

Parameters
In]transform a VTK transformation
Out]node a non-NULL data node, and as each node has a mitk::BaseGeometry in the mitk::BaseData, we can transform anything.
Exceptions
mitk::Exceptionif node points to null object
NIFTKCORE_EXPORT bool niftk::AreDifferent ( const mitk::Point3D &  a,
const mitk::Point3D &  b 
)

Returns true if a and b are different (up to a given tolerance, currently 0.01), and false otherwise.

NIFTKCOMMON_WINEXPORT std::string niftk::Basename ( const std::string pathName)

Returns the basename.

void NIFTKOPENCV_EXPORT niftk::BuildTextureDescriptor ( const boost::gil::gray8c_view_t  src,
const boost::gil::gray8_view_t  dst 
)

This is some kind of corner detector. If the output image has a low/zero value for a given pixel then the same pixel coordinate in your input image will have little to no texture suitable for tracking/matching.

Exceptions
std::runtime_errorif src and dst dimensions are different
NIFTKPOINTREG_EXPORT cv::Matx33d niftk::CalculateCrossCovarianceH ( const std::vector< cv::Point3d > &  q,
const std::vector< cv::Point3d > &  qPrime 
)

Calculates 1/N Sum (q_i * qPrime_i^t) where q_i and qPrime_i are column vectors, so the product is a 3x3 matrix.

See also
Least-Squares Fitting of two, 3-D Point Sets, Arun, 1987, DOI=10.1109/TPAMI.1987.4767965, where this calculates matrix H.
NIFTKPOINTREG_EXPORT double niftk::CalculateFiducialRegistrationError ( const std::vector< cv::Point3d > &  fixedPoints,
const std::vector< cv::Point3d > &  movingPoints,
const cv::Matx44d &  matrix 
)

Calculates Fiducial Registration Error by multiplying the movingPoints by the matrix, and comparing with fixedPoints.

NIFTKPOINTREG_EXPORT double niftk::CalculateFiducialRegistrationError ( const mitk::PointSet::Pointer &  fixedPointSet,
const mitk::PointSet::Pointer &  movingPointSet,
vtkMatrix4x4 &  vtkMatrix 
)

Converts format of input to call the other CalculateFiducialRegistrationError method.

NIFTKCOMMON_WINEXPORT double niftk::CalculateStdDevFromFWHM ( double  fwhm)

For Gaussian blurring and similar.

NIFTKCORE_EXPORT double niftk::CalculateStepSize ( double *  spacing)

Given a double[3] of x,y,z voxel spacing, calculates a step size along a ray, as 1/3 of the smallest voxel dimension.

NIFTKVTK_WINEXPORT void niftk::CalculateUnitVector ( const double *  a,
const double *  b,
double *  output 
)

Calculates a unit vector from (a-b), so a, b and output must be arrays of length 3.

NIFTKCOMMON_WINEXPORT double niftk::CalculateVarianceFromFWHM ( double  fwhm)

For Gaussian blurring and similar.

NIFTKCORE_EXPORT vtkLookupTable * niftk::ChangeColor ( vtkLookupTable *  lut,
int  value,
const QColor &  newColor 
)

Replace the color in the LookupTable at the given index.

static void niftk::check_oglerror ( const std::string detailedmsg)
static
static bool niftk::CheckBorder ( const Match &  m,
int  bx,
int  by,
int  w,
int  h 
)
static
NIFTKCORE_EXPORT bool niftk::CheckForNaNPoint ( const mitk::PointSet::PointType &  point)

Checks if the point contains a NaN value.

Returns
true if NaN
NIFTKVTK_WINEXPORT bool niftk::ClipPointToWithinBoundingBox ( const double *  boundingBoxVector6,
double *  point 
)

Makes sure that the supplied point is within the VTK bounding box, by independently clipping the x, y, z coordinate to be within range of the bounds. Returns true if point was clipped and false otherwise.

NIFTKCORE_EXPORT void niftk::ComposeTransformWithNode ( const vtkMatrix4x4 &  transform,
mitk::DataNode::Pointer &  node 
)

Composes (pre-multiplies) the given transform with the given node.

Parameters
In]transform a VTK transformation
Out]node a non-NULL data node, and as each node has a mitk::BaseGeometry in the mitk::BaseData, we can transform anything.
Exceptions
mitk::Exceptionif node points to null object
NIFTKCORE_EXPORT mitk::Point3D niftk::ComputeCentroid ( const mitk::PointSet &  input)

Computes the mean/centroid of an mitk::PointSet.

NIFTKCORE_EXPORT void niftk::ComputeNormalFromPoints ( const mitk::Point3D &  a,
const mitk::Point3D &  b,
const mitk::Point3D &  c,
mitk::Point3D &  output 
)

Computes the normal by calculating cross product of (a-b) and (c-b).

NIFTKCOMMON_WINEXPORT std::string niftk::ConcatenatePath ( const std::string path,
const std::string name 
)

Concatenates name onto path, taking care of file separator, its just string concatenation, we don't check if the resulting value actually exists.

Parameters
patha string representing the path
namea string representing a file or directory to be appended.
void niftk::Consumer ( const mitk::StandaloneDataStorage::Pointer &  datastorage)
NIFTKCOMMON_WINEXPORT double niftk::ConvertFirstVoxelCoordinateToMiddleOfImageCoordinate ( double  millimetreCoordinateOfFirstVoxel,
int  numberOfVoxelsInThatAxis,
double  voxelSpacingInThatAxis 
)

Converts first voxel origin to middle of image origin.

NIFTKCOMMON_WINEXPORT double niftk::ConvertMiddleOfImageCoordinateToFirstVoxelCoordinate ( double  millimetreCoordinateOfMiddleVoxel,
int  numberOfVoxelsInThatAxis,
double  voxelSpacingInThatAxis 
)

Converts middle of image origin to first voxel origin.

void niftk::ConvertMITKContoursAndAppendToITKContours ( mitk::ContourModelSet *  mitkContours,
std::vector< ParametricPathType::Pointer > &  itkContours,
const mitk::Vector3D &  spacingInWorldCoordinateOrder 
)

TODO Contours should not be empty. Currently, the draw tool can create empty contours. We skip them for now, but this should be fixed in the draw tool. The empty contours are probably created when points are deleted from the contour.

Contours must not be empty. (Contour sets can be empty but if they contain contours, none of them can.)

Find the axis of the running coordinate.

Only one coordinate can differ at this point, otherwise the representation is incorrect. The contour can turn only at voxel corners.

In debug builds we do not break here, so that the assertion above can fail if two adjacent points of the contour is not on a line along voxel boundaries.

A contour must not contain the same point twice, one directly after the other. (The start and end point of a contour can be the same for closed contours, but they must contain other points in between.)

If the MITK contour stores several subsequent points along the same line, we skip the intermediate points and keep only the first and last one.

TODO This should be a simple '!=' operator, but the draw tool does not save perfect corner coordinates now.

The next point was on the line of the same contour edge, so we discard the previous end point, the end of the edge is this new point.

The contour has turned, so there is no more point on the same line, no more intermediate point to skip.

TODO Contours should not contain the same point multiple times, subsequently. The draw tool currently creates such contours, so here we just silently skip the duplicated points.

We should not arrive here, otherwise the contour is incorrectly represented. Contours must be on a single slice, and they must go along the boundary of voxels. Only the start and end point can be equal.

void NIFTKMIDAS_EXPORT niftk::ConvertMITKContoursAndAppendToITKContours ( mitk::ContourModelSet *  mitkContours,
ParametricPathVectorType &  itkContours,
const mitk::Vector3D &  spacing 
)

Converts MITK contours from to ITK contours and appends them to a list.

The input MITK contours should be in one of the following representations:

o-------+-------+-------o
|       |       |       |
|       |       |       |
|       |       |       |
o-------+-------+-------o

or

o-------o-------o-------o
|       |       |       |
|       |       |       |
|       |       |       |
o-------o-------o-------o

The function creates ITK contours in this representation:

o---o---+---o---+---o---o
|       |       |       |
o       |       |       o
|       |       |       |
o---o---+---o---+---o---o

and appends them to the ITK contour list.

The function needs to know the spacing of the original image. Note that the geometry of the MITK contours cannot be set to the same as that of the reference image or the segmentation image, otherwise the contours would be rendered to a wrong location in space. Therefore, the spacing has to be retrieved from either the MITK or ITK image and passed to this function.

Note that the spacing must be in world coordinate order, not in voxel coordinate order. That is, the elements of have to be the spacing along the sagittal, coronal then axial axis, in this order. ITK images and MITK geometries store the spacing in voxel coordinate order.

You can translate between the two coordinate systems with the utility functions in niftkImageOrientationUtils.h.

void NIFTKMIDAS_EXPORT niftk::ConvertMITKSeedsAndAppendToITKSeeds ( const mitk::PointSet *  seeds,
itk::PointSet< float, 3 > *  points 
)

This file contains functions that convert between ITK and MITK contour representations.

Contours can be represented in similar way in ITK and MITK, but for the purposes of the MIDAS segmentation tools we restrict the representation according to the following terms.

ITK filters expect a contour in which there is a point on the side of every pixel, but not necessarily in the corners.

E.g. a contour around three adjacent pixels can be stored like this:

(1)

+---o---+---o---+---o---+
|       |       |       |
o       |       |       o
|       |       |       |
+---o---+---o---+---o---+

Note that there are no 'corner points' in the contour. If we simply copied these points to an MITK contour, it would be rendered like this:


/ \ < >

\ /

That is, the adjacent contour points would be connected by a straight line, cutting off the corners. To get around this, we use a modified version of the contour extraction filter that keeps the corners, i.e. creates a contour of a segmentation like this:

(2)

o---o---+---o---+---o---o
|       |       |       |
o       |       |       o
|       |       |       |
o---o---+---o---+---o---o

Note that the corner points are stored only when the contour "turns", not at at every pixel corner. The intermediate points are still at the side of the pixels.

If we copy this to an MITK contour set as it is, it is rendered as a rectangle:

+-----------------------+
|                       |
|                       |
|                       |
+-----------------------+

However, the following MITK contour would render to the same rectangle:

(3)

o-------+-------+-------o
|       |       |       |
|       |       |       |
|       |       |       |
o-------+-------+-------o

Reducing the number of contour points can significantly speed up the rendering. Moreover, the MITK contours are often cloned because of the undo-redo operations, so it is good to minimise the number of contour points for memory efficiency as well.

Currently, the draw tool creates a contour that stores every contour point, like this:

(4)

o-------o-------o-------o
|       |       |       |
|       |       |       |
|       |       |       |
o-------o-------o-------o

There should be only two kinds of representations.

ITK contours should be in the form (2), i.e.:

a) The start point of any contour must be a corner point.
b) The end point of any contour must be a corner point.
c) The contour must contain a point at the middle of the side of every pixel along the contour path, and
d) one at each pixel corner where the direction of the contour path changes.
e) The contour must not contain any other corner point along the path.

MITK contours should be in the form (3), i.e.:

f) The start point of any contour must be a corner point.
g) The end point of any contour must be a corner point.
h) The contour must not contain any point on the side of a pixel.
i) The contour must contain a point at each pixel corner where the direction of the contour path changes.
j) The contour must not contain any other corner point along the path.

Moreover,

k) Any contour must contain at least two (different) points.

Converts Points from MITK to ITK.

NIFTKCOMMON_WINEXPORT bool niftk::ConvertToBool ( const std::string x)
NIFTKCOMMON_WINEXPORT double niftk::ConvertToDouble ( const std::string x)
NIFTKCOMMON_WINEXPORT std::string niftk::ConvertToFullNativePath ( const std::string pathName)

Converts pathName to a full string by calling the above method.

Parameters
pathNamea string representing the path
Returns
a string representing the path
fs::path niftk::ConvertToFullPath ( const std::string pathName)
NIFTKCOMMON_WINEXPORT int niftk::ConvertToInt ( const std::string x)
NIFTKCOMMON_WINEXPORT std::string niftk::ConvertToString ( int  x)
NIFTKCOMMON_WINEXPORT std::string niftk::ConvertToString ( unsigned int  x)
NIFTKCOMMON_WINEXPORT std::string niftk::ConvertToString ( unsigned long long  x)
NIFTKCOMMON_WINEXPORT std::string niftk::ConvertToString ( long int  x)
NIFTKCOMMON_WINEXPORT std::string niftk::ConvertToString ( long unsigned int  x)
NIFTKCOMMON_WINEXPORT std::string niftk::ConvertToString ( double  x)
NIFTKCOMMON_WINEXPORT std::string niftk::ConvertToString ( bool  x)
NIFTKCOMMON_WINEXPORT std::string niftk::ConvertToString ( float  x)
NIFTKVTK_WINEXPORT void niftk::CopyDoubleVector ( int  n,
const double *  a,
double *  b 
)

Copies n doubles from a to b, which must be allocated, and at least of length n.

NIFTKCORE_EXPORT void niftk::CopyIntensityData ( const mitk::Image *  input,
mitk::Image *  output 
)

Assumes same size image, and same data type, and copies data from the input image to the output image.

Parameters
inputInput MITK image, not NULL.
outputOutput MITK image, not NULL, same size as input.
NIFTKCORE_EXPORT int niftk::CopyPointSets ( const mitk::PointSet &  input,
mitk::PointSet &  output 
)

Copies input to output, i.e. the output is erased, and re-populated.

template<typename PropType >
static void niftk::CopyProp ( const mitk::DataNode::Pointer  source,
mitk::Image::Pointer  target,
const char *  name 
)
static
NIFTKCORE_EXPORT void niftk::CopyValues ( const mitk::Point3D &  a,
mitk::Point3D &  b 
)

Copies a into b.

NIFTKCORE_EXPORT unsigned long int niftk::CountBetweenThreshold ( const mitk::Image *  image,
float  lower,
float  upper 
)

Simply iterates through a whole image, counting how many intensity values are >= lower and <= upper.

Parameters
lowerA lower threshold for intensity values
upperAn upper threshold for intensity values
Returns
unsigned long int The number of voxels.
Parameters
imageAn MITK Image.
lowerA lower threshold for intensity values
upperAn upper threshold for intensity values
Returns
unsigned long int The number of voxels.
NIFTKCOMMON_WINEXPORT bool niftk::CreateDirAndParents ( const std::string directoryPath)

Creates a directory including all parents that don't exist.

Parameters
thedirectory name
Returns
true if creation was successfull
NIFTKCORE_EXPORT vtkLookupTable * niftk::CreateEmptyLookupTable ( const QColor &  lowColor,
const QColor &  highColor 
)
mitk::Image::Pointer NIFTKOPENCVIMAGECONVERSION_EXPORT niftk::CreateMitkImage ( const IplImage *  image)

Supports RGB, RGBA and grayscale images, currently 8-bit per channel only!. Known bug: does not take care of different channel layouts: BGR vs RGB!

mitk::Image::Pointer NIFTKOPENCVIMAGECONVERSION_EXPORT niftk::CreateMitkImage ( const cv::Mat *  image)

Same as above but takes cv:Mat

template<typename ITKPixelType >
static mitk::Image::Pointer niftk::CreateMitkImageInternal ( const IplImage *  image)
static
template<typename ITKPixelType >
static mitk::Image::Pointer niftk::CreateMitkImageInternal ( const IplImage *  image)
static
NIFTKCOMMON_WINEXPORT std::string niftk::CreateUniqueTempFileName ( const std::string prefix,
const std::string suffix = "" 
)

Creates a unique file name for a file located in the O/S temporary directory.

Parameters
prefixfile basename prefix
suffixfile basename suffix
Returns
a unique file name
NIFTKVTK_WINEXPORT bool niftk::CropPointsFromPolyData ( vtkPolyData *  PolyData,
int  Points 
)

Randomly removes points from the passed polydata until the passed number of points Any cells or surfaces will be deleted as part of the process, leaving only points.

NIFTKCORE_EXPORT void niftk::CrossProduct ( const mitk::Point3D &  a,
const mitk::Point3D &  b,
mitk::Point3D &  c 
)

Computes c = a x b, and will normalise a and b to unit length first.

NIFTKVTK_WINEXPORT void niftk::CrossProductTwo3DVectors ( const double *  a,
const double *  b,
double *  output 
)

Takes the cross product of 2 vectors, so a, b and output must be arrays of length 3.

static bool niftk::CUDADelayLoadCheck ( )
static
static bool niftk::CUDADelayLoadCheck ( )
static
NIFTKCOMMON_WINEXPORT bool niftk::DirectoryExists ( const std::string directoryPath)
Returns
True if directory exists, and false otherwise.
NIFTKVTK_WINEXPORT bool niftk::DistancesToColorMap ( vtkPolyData *  source,
vtkPolyData *  target 
)

Measures the euclidean distances between the points in two polydata, and sets the.

scalars in both polydata to a color map to show the differences, min distance red, max distance is blue. Mid distance is green

Parameters
source,targetthe two polydata, they need the same number of points
Returns
true if Ok, false if error
NIFTKVTK_WINEXPORT double niftk::DistanceToSurface ( double  point[3],
vtkPolyData *  target 
)

Returns the euclidean distance (in 3D) between a point and the closest point on a polydata mesh.

Parameters
pointthe point
targetand the polydata
Returns
the euclidean distance
NIFTKVTK_WINEXPORT double niftk::DistanceToSurface ( double  point[3],
vtkCellLocator *  targetLocator,
vtkGenericCell *  cell = NULL 
)

Returns the euclidean distance (in 3D) between a point and the closest point on a polydata mesh.

Parameters
pointthe point
targetLocatora vtkCellLocator, built from the polydata
celland optionally a vtkGenericCell
Returns
the euclidean distance
NIFTKVTK_WINEXPORT void niftk::DistanceToSurface ( vtkPolyData *  source,
vtkPolyData *  target,
vtkSmartPointer< vtkDoubleArray > &  result 
)

Calculates the euclidean distance (in 3D) between each point in the source polydata and the closest point on the target polydata mesh. The result distances are stored in the scalar values passed in.

Parameters
source,targetthe source and target polydata.
NIFTKVTK_WINEXPORT void niftk::DistanceToSurface ( vtkPolyData *  source,
vtkPolyData *  target 
)

Calculates the euclidean distance (in 3D) between each point in the source polydata and the closest point on the target polydata mesh. The result are stored the distances in the scalar values of the source.

Parameters
source,targetthe source and target polydata.
NIFTKPOINTREG_EXPORT double niftk::DoSVDPointBasedRegistration ( const std::vector< cv::Point3d > &  fixedPoints,
const std::vector< cv::Point3d > &  movingPoints,
cv::Matx33d &  H,
cv::Point3d &  p,
cv::Point3d &  pPrime,
cv::Matx44d &  outputMatrix 
)

Does the main SVD bit of the point based registration, and handles the degenerate conditions mentioned in Aruns paper.

NIFTKCORE_EXPORT void niftk::DumpImage ( const mitk::Image *  image,
const std::string fileName 
)

Writes the image to file.

void NIFTKCUDA_EXPORT niftk::EdgeDetectionExampleLauncher ( mitk::DataStorage *  dataStorage,
mitk::DataNode *  node,
const mitk::BaseRenderer *  renderer 
)

Runs edge detection on an MITK DataNode containing a niftk::CUDAImage.

See also
niftk::RunEdgeDetectionKernel
static bool niftk::EqualsWithTolerance ( const mitk::Vector2D &  cursorPosition1,
const mitk::Vector2D &  cursorPosition2,
double  tolerance = 0.01 
)
static
static bool niftk::EqualsWithTolerance1 ( const mitk::Point3D &  worldPosition1,
const mitk::Point3D &  worldPosition2,
double  tolerance = 0.001 
)
static
NIFTKCOMMON_WINEXPORT std::string niftk::ExtractImageFileSuffix ( const std::string fileName)

Extract common image suffixes from a file name including the .gz or .zip extension if present.

Parameters
fileNameThe input image file name.
Returns
The image file extension, including the dot and .gz or .zip extension.
NIFTKCOMMON_WINEXPORT std::string niftk::ExtractImageFileSuffix ( const std::string fileName,
std::string fileNameWithoutSuffix 
)

Extract common image suffixes from a file name including the .gz or .zip extension if present.

Parameters
fileNameThe input image file name.
fileNameWithoutSuffixOutput image file name without the suffix.
Returns
The image file extension, including the dot and .gz or .zip extension.
NIFTKCOMMON_WINEXPORT bool niftk::FileDelete ( const std::string fileName)
Returns
Delete a file and return true if successfull, false otherwise.
NIFTKCOMMON_WINEXPORT bool niftk::FileExists ( const std::string fileName)
Returns
True if file exists, and false otherwise.
NIFTKCOMMON_WINEXPORT bool niftk::FileIsEmpty ( const std::string fileName)
Returns
True if file has size of zero, and false otherwise.
NIFTKCOMMON_WINEXPORT bool niftk::FilenameHasPrefixAndExtension ( const std::string filename,
const std::string prefix,
const std::string extension 
)

This method is used to find the plugin config files. So you look for stuff with a given prefix (usually blank) and the correct filename extension. ie. *.plg

Parameters
afilename
normallyblank
extensionfor example ".plg"
Returns
true for a match and false otherwise
NIFTKCOMMON_WINEXPORT bool niftk::FilenameMatches ( const std::string filename,
const std::string prefix,
const std::string middle,
const std::string extension 
)

Then this is used to find a library, as it must specifically have a prefix, then the library name, and also the correct extension.

Parameters
filenamea filename
prefixfor example "lib" on unix and nothing on windows
middlefor example "niftkonlinehelp" as specified in plugin config file
extensionfor example .so on Unix and .dll on Windows.
Returns
true for a match and false otherwise
NIFTKCOMMON_WINEXPORT int niftk::FileSize ( const std::string fileName)
Returns
the file size in bytes.
NIFTKCORE_EXPORT void niftk::FillImage ( mitk::Image *  image,
float  value 
)

Simply iterates through a whole image, filling it with the specified value which is cast to the appropriate pixel type.

Parameters
imageA non NULL MITK image.
valueA single scalar value that will be cast.
NIFTKCORE_EXPORT int niftk::FilterMatchingPoints ( const mitk::PointSet &  fixedPointsIn,
const mitk::PointSet &  movingPointsIn,
mitk::PointSet &  fixedPointsOut,
mitk::PointSet &  movingPointsOut 
)

Takes fixed and moving points, and scans for matching ID's and returns 2 point sets with ordered and corresponding points.

Returns
the number of points in the output
NIFTKCORE_EXPORT mitk::DataStorage::SetOfObjects::Pointer niftk::FindDerivedImages ( const mitk::DataStorage *  storage,
const mitk::DataNode::Pointer  node,
bool  lookForBinary 
)
NIFTKCORE_EXPORT mitk::DataStorage::SetOfObjects::Pointer niftk::FindDerivedVisibleNonHelperChildren ( const mitk::DataStorage *  storage,
const mitk::DataNode::Pointer  node 
)
NIFTKCOMMON_WINEXPORT std::vector< std::string > niftk::FindFilesWithGivenExtension ( const std::string fullDirectoryName,
const std::string extension 
)

Non-recursively searches a directory, looking for files with the specified extension.

Parameters
fullDirectoryNameDirectory name
extensionfile extension including the dot.
NIFTKCORE_EXPORT mitk::DataNode::Pointer niftk::FindFirstBinaryImage ( const std::vector< mitk::DataNode * > &  nodes)
NIFTKCORE_EXPORT mitk::DataNode::Pointer niftk::FindFirstGreyScaleImage ( const std::vector< mitk::DataNode * > &  nodes)
NIFTKCORE_EXPORT mitk::DataNode::Pointer niftk::FindFirstParent ( const mitk::DataStorage *  storage,
const mitk::DataNode::Pointer  node 
)
NIFTKCORE_EXPORT mitk::DataNode::Pointer niftk::FindFirstParentImage ( const mitk::DataStorage *  storage,
const mitk::DataNode::Pointer  node,
bool  lookForBinary 
)
NIFTKCORE_EXPORT double niftk::FindLargestDistanceBetweenTwoPoints ( const mitk::PointSet &  input)

Computes the largest Euclidean Distance between any two points.

NIFTKCOMMON_WINEXPORT std::pair< double, double > niftk::FindMinimumValues ( std::vector< std::pair< double, double > >  inputValues,
std::pair< unsigned int, unsigned int > *  indexes 
)

Takes a vector of pairs and finds the minimum value in each dimension. Returns the minimum values. Optionally returns the indexes of the minium values.

NIFTKCORE_EXPORT mitk::DataNode::Pointer niftk::FindNthBinaryImage ( const std::vector< mitk::DataNode * > &  nodes,
int  n 
)
NIFTKCORE_EXPORT mitk::DataNode::Pointer niftk::FindNthGreyScaleImage ( const std::vector< mitk::DataNode * > &  nodes,
int  n 
)
NIFTKCORE_EXPORT mitk::DataNode::Pointer niftk::FindNthImage ( const std::vector< mitk::DataNode * > &  nodes,
int  n,
bool  lookForBinary 
)
NIFTKCORE_EXPORT mitk::DataNode::Pointer niftk::FindParentGreyScaleImage ( const mitk::DataStorage *  storage,
const mitk::DataNode::Pointer  node 
)
NIFTKCOMMON_WINEXPORT std::vector< std::string > niftk::FindVideoData ( const std::string directory)

Recursively searches a directory looking for video files

Parameters
fullDirectoryName
Returns
vector of matching files
NIFTKCOMMON_WINEXPORT std::string niftk::FindVideoFile ( const std::string directory,
const std::string mask = "" 
)

Recursively searches a directory looking for video files

Parameters
fullDirectoryName
optionalmask
Returns
either the first one or the one that matches the optional input name mask
NIFTKCOMMON_WINEXPORT double niftk::fixRangeTo1 ( double  d)
void NIFTKCUDA_EXPORT niftk::FlipImageLauncher ( const WriteAccessor &  src,
WriteAccessor &  dest,
cudaStream_t  stream 
)

Flips the image upside down. This implementation is likely not very efficient.

Exceptions
std::runtime_errorTODO: Should not use WriteAccessor, cudaStream in API. Should throw mitk::Exception.
void NIFTKCUDA_EXPORT niftk::FlipImageLauncher ( const ReadAccessor &  src,
WriteAccessor &  dest,
cudaStream_t  stream 
)

Flips the image upside down. This implementation is likely not very efficient.

Exceptions
std::runtime_errorTODO: Should not use ReadAccessor, WriteAccessor, cudaStream in API. Should throw mitk::Exception.
void NIFTKMIDAS_EXPORT niftk::GenerateOutlineFromBinaryImage ( mitk::Image::Pointer  image,
int  sliceAxis,
int  sliceIndex,
int  projectedSliceNumber,
mitk::ContourModelSet *  outputContourSet 
)

Used to generate a contour outline round a binary segmentation image, and refreshes the outputSurface.

Called for generating the "See Prior", "See Next" and also the outline contour of the current segmentation.

NIFTKCORE_EXPORT ImageOrientation niftk::GetAsAcquiredOrientation ( ImageOrientation  defaultOrientation,
const mitk::Image *  image 
)

Returns the ImageOrientation corresponding to the XY plane, or else returns the supplied default.

Parameters
defaultOrientationA default ImageOrientation that will be returned if we can't work out the As Acquired orientation.
imageAn image to check.
Returns
ImageOrientation the As Acquired orientation, or the defaultOrientation.
template<typename TPixel , unsigned int VImageDimension>
NIFTKCORE_EXPORT void niftk::GetAxesInWorldCoordinateOrder ( const itk::Image< TPixel, VImageDimension > *  itkImage,
int  axes[3] 
)

Converts between voxel coordinate order and world coordinate order. The function writes the axes of the sagittal, coronal and axial dimensions to axes, in this order:

axes[0]: axis of sagittal dimension axes[1]: axis of coronal dimension axes[2]: axis of axial dimension

NIFTKCORE_EXPORT void niftk::GetAxesInWorldCoordinateOrder ( const mitk::Image *  mitkImage,
int  axes[3] 
)

Converts between voxel coordinate order and world coordinate order. The function writes the axes of the sagittal, coronal and axial dimensions to axes, in this order:

axes[0]: axis of sagittal dimension axes[1]: axis of coronal dimension axes[2]: axis of axial dimension

NIFTKVTK_WINEXPORT double niftk::GetBoundingBoxDiagonalLength ( const double *  boundingBoxVector6)

Calculates the bounding box diagonal length.

NIFTKCORE_EXPORT void niftk::GetCurrentTransformFromNode ( const mitk::DataNode::Pointer &  node,
vtkMatrix4x4 &  outputMatrix 
)

Retrieves the current tranform from the mitk::Geometry object of an mitk::DataNode.

Parameters
In]node a non-NULL mitk::DataNode
Out]outputMatrix a matrix that is updated
Exceptions
mitk::Exceptionif node points to null object
NIFTKCORE_EXPORT void niftk::GetDifference ( const mitk::Point3D &  a,
const mitk::Point3D &  b,
mitk::Point3D &  output 
)

Returns as output the vector difference of a-b.

NIFTKCOMMON_WINEXPORT std::vector< std::string > niftk::GetDirectoriesInDirectory ( const std::string fullDirectoryName)

Returns all directories in a given directory, or empty list if none found.

Parameters
fullDirectoryNameDirectory name
Exceptions
logic_errorif directory name is invalid
Returns
a list of directories within that folder.
NIFTKCOMMON_WINEXPORT std::string niftk::GetEnvVar ( const std::string variableName)
NIFTKVTK_WINEXPORT double niftk::GetEuclideanDistanceBetweenTwo3DPoints ( const double *  a,
const double *  b 
)

Returns the Euclidean distance between two 3D points, so a and b must be arrays of length 3.

template<typename TPixel , unsigned int VImageDimension>
NIFTKCORE_EXPORT void niftk::GetExtentsInMmInWorldCoordinateOrder ( const itk::Image< TPixel, VImageDimension > *  itkImage,
mitk::Vector3D &  extentsInMm 
)

Gets the extents of the image in millimetres in world coordinate order.

extentsInMm[0]: extent of sagittal dimension in millimetres extentsInMm[1]: extent of coronal dimension in millimetres extentsInMm[2]: extent of axial dimension in millimetres

NIFTKCORE_EXPORT void niftk::GetExtentsInMmInWorldCoordinateOrder ( const mitk::Image *  mitkImage,
mitk::Vector3D &  extentsInMm 
)

Gets the extents of the image in millimetres in world coordinate order.

extentsInMm[0]: extent of sagittal dimension in millimetres extentsInMm[1]: extent of coronal dimension in millimetres extentsInMm[2]: extent of axial dimension in millimetres

template<typename TPixel , unsigned int VImageDimension>
NIFTKCORE_EXPORT void niftk::GetExtentsInVxInWorldCoordinateOrder ( const itk::Image< TPixel, VImageDimension > *  itkImage,
mitk::Vector3D &  extentsInVx 
)

Gets the extents (number of voxels) of the image in world coordinate order.

extentsInVx[0]: extent of sagittal dimension extentsInVx[1]: extent of coronal dimension extentsInVx[2]: extent of axial dimension

NIFTKCORE_EXPORT void niftk::GetExtentsInVxInWorldCoordinateOrder ( const mitk::Image *  mitkImage,
mitk::Vector3D &  extentsInVx 
)

Gets the extents (number of voxels) of the image in world coordinate order.

extentsInVx[0]: extent of sagittal dimension as number of voxels extentsInVx[1]: extent of coronal dimension as number of voxels extentsInVx[2]: extent of axial dimension as number of voxels

std::string niftk::GetFilenameStem ( const std::string fileName)
NIFTKCOMMON_WINEXPORT std::string niftk::GetFileSeparator ( )

Converts pathName to a boost::filesystem::path. We throw std::logic_error if you pass an empty pathName.

Parameters
pathNamea string representing the path
Returns
boost path type

Returns the file separator.

Returns
a / or a \ depending on OS
NIFTKCOMMON_WINEXPORT std::vector< std::string > niftk::GetFilesInDirectory ( const std::string fullDirectoryName)

Returns all files in a given directory, or empty list if none found.

Parameters
fullDirectoryNameDirectory name
Exceptions
logic_errorif directory name is invalid
Returns
a list of files within that folder.
NIFTKCOMMON_WINEXPORT std::string niftk::GetHomeDirectory ( )
NIFTKCOMMON_WINEXPORT std::string niftk::GetImagesDirectory ( )

Helper method to get the image directory, as it works off an environment variable.

Returns
NIFTK_HOME/images
NIFTKCORE_EXPORT itk::Orientation niftk::GetItkOrientation ( ImageOrientation  orientation)

Converts an MITK orientation enum to an ITK orientation enum, and ideally these types should be merged.

NIFTKCOMMON_WINEXPORT std::string niftk::GetLastNCharacters ( std::string  s,
int  n 
)

Returns the last n characters from s.

NIFTKVTK_WINEXPORT double niftk::GetLength ( const double *  a)

Returns the length of a 3D vector, so a must be an array of length 3.

NIFTKCORE_EXPORT mitk::Point3D niftk::GetMiddlePointInVoxels ( const mitk::Image *  image)

Returns the middle voxel of an image.

Parameters
imageAn MITK image.
Returns
If the image has odd numbers of voxels in an axis, the returned voxel is the middle one, whereas if the image has even number of voxels in an axis, the returned voxel is (int)(number vox - 1)/2.0
NIFTKCORE_EXPORT ImageOrientation niftk::GetMitkOrientation ( itk::Orientation  orientation)

Converts an ITK orientation enum to an MITK orientation enum, and ideally these types should be merged.

NIFTKCOMMON_WINEXPORT std::string niftk::GetNifTKHome ( )
NIFTKCORE_EXPORT unsigned long int niftk::GetNumberOfVoxels ( const mitk::Image *  image)

Returns the number of voxels in an image.

Parameters
imageAn MITK Image.
Returns
unsigned long int The number of voxels.
NIFTKCORE_EXPORT std::string niftk::GetOrientationName ( ImageOrientation  orientation)

Returns the name of the given orientation.

Returns
the name of the orientation that can be "axial", "sagittal", "coronal" or "unknown".
NIFTKCORE_EXPORT std::string niftk::GetOrientationString ( const mitk::Image *  image)

Returns the Orientation String (RPI, RAS etc).

Parameters
imageAn MITK image, not NULL.

NOTE: MIDAS Analyze are flipped in the MITK GUI. This means if you use the default ITK reader which is used for example in the command line app niftkImageInfo, you will get a different answer to this method, as this method will be run from within the MITK GUI, and hence will be using itkDRCAnalyzeImageIO.

NIFTKIGIDATASOURCES_EXPORT void niftk::GetPlaybackIndex ( const QString &  directory,
const QString &  fileExtension,
QMap< QString, std::set< niftk::IGIDataType::IGITimeType > > &  bufferToTimeStamp,
QMap< QString, QHash< niftk::IGIDataType::IGITimeType, QStringList > > &  bufferToTimeStampToFileNames 
)

Returns the list of timestamps, by source name.

NIFTKCORE_EXPORT mitk::TimeGeometry::Pointer niftk::GetPreferredGeometry ( const mitk::DataStorage *  dataStorage,
const std::vector< mitk::DataNode * > &  nodes,
const int nodeIndex = -1 
)

GetPreferedGeometry will return the geometry to use by picking one from the list of nodes, or NULL, if none can be found.

Parameters
nodesA vector of mitk::DataNode pointers where we assume each node has a Geometry (which should always be the case).
nodeIndexif we specify a node number/index that is a valid node in the vector nodes we just short-cut the search and pick that one.
Returns
mitk::TimeGeometry::Pointer A pointer to the chosen TimeGeometry or NULL if we didn't find one.

The algorithm is:

If nodeIndex < 0,
  use the first Image geometry in the list, or failing that, the first available geometry.
else if nodeIndex is a valid node index
  pick that geometry regardless of what it belongs to
else (user specified a useless index)
  pick the first available geometry.
If the node we found was not a grey-scale image
 Try to find a parent grey-scale image, and if successful return that geometry.
NIFTKIGIDATASOURCES_EXPORT QString niftk::GetPreferredSlash ( )

Returns the platform specific directory separator.

NIFTKCOMMON_WINEXPORT void niftk::GetRecursiveFilesInDirectory ( const std::string fullDirectoryName,
std::vector< std::string > &  fileNames 
)

Returns all files in a given directory and recursively in all sub-directories, or empty list if none found.

Parameters
fullDirectoryNameDirectory name
fileNamesThe list of files found
Exceptions
logic_errorif directory name is invalid
NIFTKCORE_EXPORT double niftk::GetRMSErrorBetweenPoints ( const mitk::PointSet &  fixed,
const mitk::PointSet &  moving,
const CoordinateAxesData *const  transform = NULL 
)

Gets the RMS error between fixed point set and a moving point set, with optional transform specified.

Iterates through the moving point set, and if the corresponding point exists in the fixed point set, will compute the squared distance error, and accumulate this into the RMS error.

template<typename TPixel , unsigned int VImageDimension>
NIFTKCORE_EXPORT void niftk::GetSpacingInWorldCoordinateOrder ( const itk::Image< TPixel, VImageDimension > *  itkImage,
mitk::Vector3D &  spacing 
)

Gets the spacing of the image in world coordinate order.

spacing[0]: spacing along sagittal dimension spacing[1]: spacing along coronal dimension spacing[2]: spacing axial dimension

NIFTKCORE_EXPORT void niftk::GetSpacingInWorldCoordinateOrder ( const mitk::Image *  mitkImage,
mitk::Vector3D &  spacing 
)

Gets the spacing of the image in world coordinate order.

spacing[0]: spacing along sagittal dimension spacing[1]: spacing along coronal dimension spacing[2]: spacing axial dimension

NIFTKCORE_EXPORT double niftk::GetSquaredDistanceBetweenPoints ( const mitk::Point3D &  a,
const mitk::Point3D &  b 
)

Returns the squared Euclidean distance between a and b.

NIFTKCORE_EXPORT int niftk::GetThroughPlaneAxis ( const mitk::Image *  image,
ImageOrientation  orientation 
)

Returns either -1 (unknown), or [0,1,2] for the x, y, or z axis corresponding to the through plane direction for the specified orientation.

Parameters
imageAn MITK image, not NULL.
orientationan ImageOrientation corresponding to Axial, Coronal or Sagittal.
Returns
-1=unknown, or the axis number [0,1,2].
NIFTKCORE_EXPORT int niftk::GetUpDirection ( const mitk::BaseGeometry *  geometry,
itk::Orientation  orientation 
)

Returns either +1, or -1 to indicate in which direction you should change the slice number to go "up".

Parameters
geometryAn MITK geometry, not NULL.
orientationan ImageOrientation corresponding to Axial, Coronal or Sagittal.
Returns
-1 or +1 telling you to either increase of decrease the slice number or 0 for "unknown".

So, the MIDAS spec is: Shortcut key A=Up, Z=Down which means:

Axial: A=Superior, Z=Inferior
Coronal: A=Anterior, Z=Posterior
Sagittal: A=Right, Z=Left
NIFTKCORE_EXPORT int niftk::GetUpDirection ( const mitk::Image *  image,
ImageOrientation  orientation 
)

See GetUpDirection as in effect, we are only using the direction cosines from the geometry.

NIFTKCORE_EXPORT double niftk::GetVolume ( const mitk::Image *  image)

Returns the volume of non-zero voxels in an image.

Parameters
imageAn MITK image.
Returns
double The volume in millimetres cubed.
WindowLayout niftk::GetWindowLayout ( const std::string windowLayoutName)
inline
NIFTKCOMMON_WINEXPORT std::string niftk::GetWorkingDirectory ( )
NIFTKCORE_EXPORT mitk::Vector3D niftk::GetXYAspectRatio ( const mitk::Image::Pointer  image)

Utility method to calculate the aspect ratio.

Retrieves the image scaling, and if X dimension has largest voxels e.g. 2.1mm compared with Y having 1.1mm, will calculate the aspect ratio for X, so that you can rescale the number of pixels in the X direction and leave Y un-altered. And vice-versa for Y.

eg. given X = 2.2mm, Y = 1.1mm, will return mitk::Vector3D with vector[0]=2 and vector[1] = 1;

i.e. the x axis is twice as big as the y axis.

static void niftk::HandleCUDAError ( cudaError_t  err,
const char *  file,
int  line 
)
static

Static method (only available to same T.U.) to print error.

NIFTKCORE_EXPORT bool niftk::ImagesHaveEqualIntensities ( const mitk::Image *  image1,
const mitk::Image *  image2 
)

Utility method that compares if images have the same intensity values.

Parameters
image1an MITK image
image2an MITK image
Returns
true if images have the same intensity values, and false otherwise.
NIFTKCORE_EXPORT bool niftk::ImagesHaveSameSpatialExtent ( const mitk::Image *  image1,
const mitk::Image *  image2 
)

Utility method that compares if images have the same spatial extent.

Parameters
image1an MITK image.
image2an MITK image.
Returns
true if images have the same spatial extent, and false otherwise.
NIFTKVTK_WINEXPORT void niftk::InterpolateRotation ( const double *  beforeRotation,
const double *  afterRotation,
const double &  weight,
double *  outputRotation,
bool  adjustSign 
)

Performs spherical linear interpolation.

Parameters
beforeRotationquaternion as 4-vector, already allocated.
afterRotationquaternion as 4-vector, already allocated.
outputRotationquaternion as 4-vector, already allocated.
weightbetween 0 and 1.
NIFTKVTK_WINEXPORT void niftk::InterpolateTransformationMatrix ( const vtkMatrix4x4 &  before,
const vtkMatrix4x4 &  after,
const double &  proportion,
vtkMatrix4x4 &  interpolated 
)

Interpolates between two matrices.

Parameters
proportionis defined as between [0 and 1], where 0 gives exactly the before matrix, 1 gives exactly the after matrix, and the proportion is a linear proportion between them to interpolate.
NIFTKCOMMON_WINEXPORT bool niftk::IsCloseToZero ( const double &  value,
const double &  tolerance 
)

Returns true if fabs(value) is less than a small tolerance, which defaults to 0.000001.

NIFTKCORE_EXPORT bool niftk::IsImage ( const mitk::DataNode *  node)

Simply returns true if a node contains an image, and false otherwise.

Parameters
nodeAn MITK DataNode.
Returns
true if node contains an mitk::Image and false otherwise
bool niftk::IsMultiWindowLayout ( WindowLayout  layout)
inline

Returns true if the layout contains multiple windows, otherwise false.

NIFTKCORE_EXPORT bool niftk::IsNodeABinaryImage ( const mitk::DataNode::Pointer  node)
NIFTKCORE_EXPORT bool niftk::IsNodeAGreyScaleImage ( const mitk::DataNode::Pointer  node)
NIFTKCORE_EXPORT bool niftk::IsNodeAHelperObject ( const mitk::DataNode *  node)
bool niftk::IsSingleWindowLayout ( WindowLayout  layout)
inline

Returns true if the layout contains only one window, otherwise false.

template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKAddNewSeedsToPointSet ( const itk::Image< TPixel, VImageDimension > *  itkImage,
const typename itk::Image< TPixel, VImageDimension >::RegionType regionOfInterest,
int  sliceAxis,
mitk::PointSet *  outputNewSeeds 
)

For the given input itkImage (assumed to always be binary), and regionOfInterest, will iterate on a slice by slice basis, recalculating new seeds.

template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKCalculateSliceRegion ( const itk::Image< TPixel, VImageDimension > *  itkImage,
int  sliceAxis,
int  sliceIndex,
typename itk::Image< TPixel, VImageDimension >::RegionType outputRegion 
)

Calculates the region corresponding to a single slice.

template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKCalculateSliceRegionAsVector ( const itk::Image< TPixel, VImageDimension > *  itkImage,
int  sliceAxis,
int  sliceIndex,
std::vector< int > &  outputRegion 
)

Calculates the region corresponding to a single slice.

template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKClearImage ( itk::Image< TPixel, VImageDimension > *  itkImage)

Clears an image by setting all voxels to zero using ITKFillRegion.

template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKClearSlice ( itk::Image< TPixel, VImageDimension > *  itkImage,
int  sliceAxis,
int  sliceIndex 
)

Clears a slice by setting all voxels to zero for a given slice and axis.

template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKCopyImage ( const itk::Image< TPixel, VImageDimension > *  input,
itk::Image< TPixel, VImageDimension > *  output 
)

Copies an image from input to output, assuming input and output already allocated and of the same size.

template<typename TPixel1 , unsigned int VImageDimension1, typename TPixel2 , unsigned int VImageDimension2>
void niftk::ITKCopyIntensityData ( const itk::Image< TPixel1, VImageDimension1 > *  itkImage1,
itk::Image< TPixel2, VImageDimension2 > *  itkImage2 
)

ITK function to copy image data, performing C-style casting between data types.

Parameters
itkImage1An ITK image.
itkImage2An ITK image.
template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKCopyRegion ( const itk::Image< TPixel, VImageDimension > *  input,
int  sliceAxis,
int  sliceIndex,
itk::Image< TPixel, VImageDimension > *  output 
)

Copies the region from input to output, assuming both images are the same size, and contain the region.

template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKCountBetweenThreshold ( const itk::Image< TPixel, VImageDimension > *  itkImage,
const float &  lower,
const float &  upper,
unsigned long int outputCount 
)
template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKDestroyPipeline ( const itk::Image< TPixel, VImageDimension > *  itkImage)

Completely removes the current 2D region growing pipeline that is stored in the map m_TypeToPipelineMap.

Parameters
itkImagepass in the reference image (grey scale image being segmented), just as a dummy parameter, as it is called via the MITK ImageAccess macros.
template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKDoWipe ( itk::Image< TPixel, VImageDimension > *  itkImage,
mitk::PointSet *  currentSeeds,
OpWipe *  op 
)

Does the wipe command for Wipe, Wipe+, Wipe-.

Most of the logic is contained within the OpWipe command and the processing is done with itk::MIDASImageUpdateClearRegionProcessor which basically fills a given region (contained on OpWipe) with zero. The seed processing is done elsewhere.

See also
DoWipe.
template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKDumpImage ( const itk::Image< TPixel, VImageDimension > *  itkImage,
const std::string filename 
)

Writes the image to file.

template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKFillImage ( itk::Image< TPixel, VImageDimension > *  itkImage,
float &  value 
)
See also
FillImage
template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKFillRegion ( itk::Image< TPixel, VImageDimension > *  itkImage,
const typename itk::Image< TPixel, VImageDimension >::RegionType region,
TPixel  fillValue 
)

Fills the itkImage region with the fillValue.

template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKFilterContours ( const itk::Image< TPixel, VImageDimension > *  itkImage,
const mitk::Image *  workingImage,
const mitk::PointSet *  seeds,
mitk::ContourModelSet *  segmentationContours,
mitk::ContourModelSet *  drawContours,
mitk::ContourModelSet *  polyContours,
int  sliceAxis,
int  sliceIndex,
double  lowerThreshold,
double  upperThreshold,
bool  isThresholding,
mitk::ContourModelSet *  outputCopyOfInputContours,
mitk::ContourModelSet *  outputContours 
)

Extracts a new contour set, for doing "Clean" operation.

This method creates a local GeneralSegmentorPipeline pipeline for region growing, and does a standard region growing, then for each point on each contour on the input contour sets will filter the contours to only retain contours that are touching (i.e. on the boundary of) the region growing image.

Parameters
isThresholdif true, we use the lowerThreshold and upperThreshold, whereas if false, we use the min and maximum limit of the pixel data type of the itkImage.
template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKFilterInputPointSetToExcludeRegionOfInterest ( const itk::Image< TPixel, VImageDimension > *  itkImage,
const typename itk::Image< TPixel, VImageDimension >::RegionType regionOfInterest,
const mitk::PointSet *  inputSeeds,
mitk::PointSet *  outputCopyOfInputSeeds,
mitk::PointSet *  outputNewSeedsNotInRegionOfInterest 
)

Takes the inputSeeds and copies them to outputCopyOfInputSeeds, and also copies seeds to outputNewSeedsNotInRegionOfInterest if the seed is not within the region of interest.

template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKFilterSeedsToCurrentSlice ( const itk::Image< TPixel, VImageDimension > *  itkImage,
const mitk::PointSet *  inputSeeds,
int  sliceAxis,
int  sliceIndex,
mitk::PointSet *  outputSeeds 
)

Takes the inputSeeds and filters them so that outputSeeds contains just those seeds contained within the current slice.

template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKGenerateOutlineFromBinaryImage ( const itk::Image< TPixel, VImageDimension > *  itkImage,
int  sliceAxis,
int  sliceIndex,
int  projectedSliceIndex,
mitk::ContourModelSet *  contourSet 
)

Called to extract a contour set from a binary image, as might be used for "See Prior", "See Next", or the outlining a binary segmentation.

template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKGetAsAcquiredOrientation ( const itk::Image< TPixel, VImageDimension > *  itkImage,
ImageOrientation &  outputOrientation 
)

ITK method that given an image, returns the ImageOrientation for the XY plane.

Parameters
itkImagean ITK image
outputOrientationthe output ImageOrientation as either IMAGE_ORIENTATION_AXIAL, IMAGE_ORIENTATION_CORONAL or IMAGE_ORIENTATION_SAGITTAL, or else is unchanged from the input.
template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKGetLargestMinimumDistanceSeedLocation ( const itk::Image< TPixel, VImageDimension > *  itkImage,
TPixel  foregroundPixelValue,
typename itk::Image< TPixel, VImageDimension >::IndexType outputSeedIndex,
int outputDistance 
)

Works out the largest minimum distance to the edge of the image data, filtered on a given foregroundPixelValue.

For each foreground voxel, search along the +/- x,y, (z if 3D) direction to find the minimum distance to the edge. Returns the largest minimum distance over the whole of the foreground region.

template<typename TPixel , unsigned int VImageDimension>
bool niftk::ITKImageHasNonZeroEdgePixels ( const itk::Image< TPixel, VImageDimension > *  itkImage)

Returns true if the image has non-zero edge pixels, and false otherwise.

template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKImagesHaveEqualIntensities ( const itk::Image< TPixel, VImageDimension > *  itkImage,
const mitk::Image *  image2,
bool &  output 
)
template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKImagesHaveSameSpatialExtent ( const itk::Image< TPixel, VImageDimension > *  itkImage,
const mitk::Image *  image2,
bool &  output 
)
template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKInitialiseSeedsForSlice ( const itk::Image< TPixel, VImageDimension > *  itkImage,
mitk::PointSet *  seeds,
int  sliceAxis,
int  sliceIndex 
)

Creates seeds for each distinct 4-connected region for a given slice.

This methods creates a region for the given slice and calls ITKAddNewSeedsToPointSet to create new seeds.

Parameters
sliceAxisthrough slice axis, which should be [0|1|2].
sliceIndexthe index of the slice along the given axis.
template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKPreprocessingForWipe ( const itk::Image< TPixel, VImageDimension > *  itkImage,
const mitk::PointSet *  inputSeeds,
int  sliceAxis,
int  sliceIndex,
int  direction,
mitk::PointSet *  outputCopyOfInputSeeds,
mitk::PointSet *  outputNewSeeds,
std::vector< int > &  outputRegion 
)

Does any pre-processing necessary to facilitate Undo/Redo for Wipe commands, which in this case means computing a new list of seeds, and the region of interest to be wiped.

template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKPreprocessingOfSeedsForChangingSlice ( const itk::Image< TPixel, VImageDimension > *  itkImage,
const mitk::PointSet *  inputSeeds,
int  oldSliceAxis,
int  oldSliceIndex,
int  newSliceAxis,
int  newSliceIndex,
bool  optimiseSeedPosition,
bool  newSliceIsEmpty,
mitk::PointSet *  outputCopyOfInputSeeds,
mitk::PointSet *  outputNewSeeds,
std::vector< int > &  outputRegion 
)

Does any pre-processing of seeds necessary to facilitate Undo/Redo for Threshold Apply, and also changing slice.

In this case means calculating the region of interest as a slice and if we are changing slice we propagate the seeds on the current slice to the new slice, and if we are doing threshold apply, we re-calculate seeds for the current slice based on the connected component analysis described in the class header at the top of this file.

Notice how this is similar to the preprocessing required for Propagate, seen in PropagateToRegionGrowingImageUsingITK. Also note that itkImage input should be the binary region growing image.

template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKPropagateSeedsToNewSlice ( const itk::Image< TPixel, VImageDimension > *  itkImage,
const mitk::PointSet *  currentSeeds,
mitk::PointSet *  newSeeds,
int  sliceAxis,
int  oldSliceIndex,
int  newSliceIndex 
)

Given an image, and a set of seeds, will append new seeds in the new slice if necessary.

When MIDAS switches slice, if the current slice has seeds, and the new slice has none, it will auto-generate them. This is useful for things like quick region growing, as you simply switch slices, and the new region propagates forwards.

template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKPropagateToRegionGrowingImage ( const itk::Image< TPixel, VImageDimension > *  itkImage,
const mitk::PointSet *  inputSeeds,
int  sliceAxis,
int  sliceIndex,
int  direction,
double  lowerThreshold,
double  upperThreshold,
mitk::PointSet *  outputCopyOfInputSeeds,
mitk::PointSet *  outputNewSeeds,
std::vector< int > &  outputRegion,
mitk::Image *  outputRegionGrowingImage 
)

Method takes all the input, and calculates the 3D propagated region (up or down or 3D), and stores it in the region growing node.

template<typename TGreyScalePixel , unsigned int VImageDimension>
void niftk::ITKPropagateToSegmentationImage ( const itk::Image< TGreyScalePixel, VImageDimension > *  itkImage,
mitk::Image *  segmentedImage,
mitk::Image *  regionGrowingImage,
OpPropagate *  op 
)

Called from the ExecuteOperate (i.e. undo/redo framework) to actually apply the calculated propagated region to the current segmentation.

template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKPropagateUpOrDown ( const itk::Image< TPixel, VImageDimension > *  itkImage,
const mitk::PointSet *  seeds,
int  sliceAxis,
int  sliceIndex,
int  direction,
double  lowerThreshold,
double  upperThreshold,
mitk::Image *  outputRegionGrowingImage 
)

Called from ITKPropagateToRegionGrowingImage to propagate up or down.

This is basically a case of taking the seeds on the current slice, and calculating the up/down region (which should include the currrent slice), and then perform 5D region growing in the correct direction.

template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKRecalculateMinAndMaxOfSeedValues ( const itk::Image< TPixel, VImageDimension > *  itkImage,
const mitk::PointSet *  inputSeeds,
int  sliceAxis,
int  sliceIndex,
double &  min,
double &  max 
)

Called from RecalculateMinAndMaxOfSeedValues(), the actual method in ITK that recalculates the min and max intensity value of all the voxel locations given by the seeds.

template<typename TPixel , unsigned int VImageDimension>
bool niftk::ITKSliceDoesHaveSeeds ( const itk::Image< TPixel, VImageDimension > *  itkImage,
const mitk::PointSet *  seeds,
int  sliceAxis,
int  sliceIndex 
)

Will return true if the given slice has seeds within that slice.

template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKSliceDoesHaveUnenclosedSeeds ( const itk::Image< TPixel, VImageDimension > *  itkImage,
const mitk::PointSet *  seeds,
mitk::ContourModelSet *  segmentationContours,
mitk::ContourModelSet *  polyToolContours,
mitk::ContourModelSet *  drawToolContours,
const mitk::Image *  workingImage,
double  lowerThreshold,
double  upperThreshold,
bool  useThresholds,
int  sliceAxis,
int  sliceIndex,
bool &  sliceDoesHaveUnenclosedSeeds 
)

Will return true if slice has unenclosed seeds, and false otherwise.

This works by region growing. We create a local GeneralSegmentorPipeline and perform region growing, and then check if the region has his the edge of the image. If the region growing hits the edge of the image, then the seeds must have been un-enclosed, and true is returned, and false otherwise.

Parameters
useThresholdif true will use lowerThreshold and upperThreshold and if false will use the min and maximum limit of the pixel data type of the itkImage.
template<typename TPixel , unsigned int VImageDimension>
bool niftk::ITKSliceIsEmpty ( const itk::Image< TPixel, VImageDimension > *  itkImage,
int  sliceAxis,
int  sliceIndex,
bool &  outputSliceIsEmpty 
)

Creates a region of interest within itkImage corresponding to the given slice, and checks if it is empty returning true if it is all zero.

template<typename TPixel , unsigned int VImageDimension>
void niftk::ITKUpdateRegionGrowing ( const itk::Image< TPixel, VImageDimension > *  itkImage,
bool  skipUpdate,
const mitk::Image *  workingImage,
const mitk::PointSet *  seeds,
mitk::ContourModelSet *  segmentationContours,
mitk::ContourModelSet *  drawContours,
mitk::ContourModelSet *  polyContours,
int  sliceAxis,
int  sliceIndex,
double  lowerThreshold,
double  upperThreshold,
mitk::Image *  outputRegionGrowingImage 
)

Called from UpdateRegionGrowing(), updates the interactive ITK single 2D slice region growing pipeline. Note: segmentationContours, drawContours and polyContours could be const pointers, but some const functions are missing from mitk::ContourModelSet. They are not modified from within this function (including transitive calls).

NIFTKCORE_EXPORT double niftk::Length ( mitk::Point3D &  vector)

Given a vector, will calculate the length.

NIFTKCORE_EXPORT bool niftk::Load2DPointFromFile ( const std::string fileName,
mitk::Point2D &  point 
)

Loads a 2D point from file, returning true if successful and false otherwise.

NIFTKCORE_EXPORT bool niftk::Load3DPointFromFile ( const std::string fileName,
mitk::Point3D &  point 
)

Loads a 3D point from file, returning true if successful and false otherwise.

bool niftk::LoadDoublesFromFile ( const std::string fileName,
std::vector< double > &  output 
)
NIFTKVTK_WINEXPORT vtkSmartPointer< vtkMatrix4x4 > niftk::LoadMatrix4x4FromFile ( const std::string fileName,
const bool &  silent = false 
)

Loads the matrix from file, or else creates an Identity matrix, and the caller is responsible for deallocation.

Parameters
fileName
NIFTKCORE_EXPORT void niftk::LoadMatrixOrCreateDefault ( const std::string fileName,
const std::string nodeName,
const bool &  helperObject,
mitk::DataStorage *  dataStorage 
)

Loads a 4x4 matrix from a plain textfile, and puts in data storage with the given nodeName, or else creates Identity matrix.

Parameters
fileNamefull file name
helperObjectif true the node is created in DataStorage as a helper object, and so by default will normally be invisible
NIFTKCORE_EXPORT std::vector< mitk::PointSet::Pointer > niftk::LoadPointSetsFromDirectory ( const std::string  fullDirectoryName)

Loads all point sets from directory.

NIFTKCORE_EXPORT void niftk::LoadTimeStampData ( const std::string fileName,
std::set< unsigned long long > &  outputTimeStamps 
)

Loads a list of timestamps from a file.

NIFTKCORE_EXPORT vtkSmartPointer< vtkMatrix4x4 > niftk::LoadVtkMatrix4x4FromFile ( const std::string fileName)

Load a plain text file of 4 rows of 4 space separated numbers into a vtkMatrix4x4.

Parameters
fileNamefull path of file name
Returns
vtkSmartPointer<vtkMatrix4x4> that the caller is responsible for
int* niftk::LowerToUpperOrder ( int  dim)
NIFTKVTK_WINEXPORT bool niftk::MatricesAreEqual ( const vtkMatrix4x4 &  m1,
const vtkMatrix4x4 &  m2,
const double &  tolerance = 0.01 
)

Checks matrices for equality.

Parameters
toleranceabsolute difference between corresponding elements must be less than this number.
NIFTKVTK_WINEXPORT void niftk::MatrixToQuaternion ( const vtkMatrix4x4 &  matrix,
double *  quaternion 
)

Extracts the rotation matrix, and converts to quaternion.

Parameters
quaternionmust be a pointer to an array of 4 doubles that is already allocated.
NIFTKCOMMON_WINEXPORT double niftk::Mean ( const std::vector< double > &  input)

To return the sample mean of a vector.

cv::Mat NIFTKOPENCVIMAGECONVERSION_EXPORT niftk::MitkImageToOpenCVMat ( const mitk::Image::Pointer  )

mitk::Image::Pointer to cv::Mat* , supports 8 bit per channel RGB, RGBA and gray

NIFTKCOMMON_WINEXPORT double niftk::ModifiedSignum ( double  value)

Returns -1.0 if value < 0 or 1.0 if value >= 0.

NIFTKCOMMON_WINEXPORT std::string niftk::ModifyFileSuffix ( const std::string fileName,
std::string  newSuffix 
)

Modify the suffix of a file name, or append if no suffix present. It is up to the user to ensure that 'newSuffix' contains a '.' if required.

Parameters
fileNameThe input file name.
newSuffixThe text to replace the suffix with.
Returns
The file name with the modified or appended suffix.
NIFTKCOMMON_WINEXPORT std::string niftk::ModifyImageFileSuffix ( const std::string fileName,
std::string  newSuffix 
)

Modify the image suffix of a file name, or append if no image suffix present.

Parameters
fileNameThe input image file name.
newSuffixThe text to replace the image suffix with.
Returns
The image file name with the modified, or appended, image suffix.
niftk::NIFTK_TOOL_MACRO ( NIFTKMIDAS_EXPORT  ,
PosnTool  ,
"Posn Tool"   
)
NIFTKCORE_EXPORT void niftk::Normalise ( mitk::Point3D &  vector)

Given a vector, will normalise it to unit length.

NIFTKVTK_WINEXPORT void niftk::Normalise3DPoint ( const double *  a,
const double  length,
double *  output 
)

Divides a 3D point by a length, so a and output must be arrays of length 3.

NIFTKVTK_WINEXPORT double niftk::NormalisedRNG ( vtkRandomSequence *  rng)

Normalises the values returned by a vtk random sequence to be centred on zero.

Parameters
rngthe random number sequence
Returns
The normalised value
NIFTKVTK_WINEXPORT void niftk::NormaliseToUnitLength ( const double *  a,
double *  output 
)

Normalises a to unit length.

NIFTKCOMMON_WINEXPORT bool niftk::NumericStringCompare ( const std::string string1,
const std::string string2 
)

A numeric string comparison operator, useful for sorting filenames into numeric order

Parameters
string1
string2
Returns
comparison result
std::ostream& niftk::operator<< ( std::ostream &  os,
const CSVRow &  data 
)

Specialisation of 'operator<<' for the niftk::CSVRow class

std::ostream& niftk::operator<< ( std::ostream &  os,
const BasicVec3D &  vo 
)
std::ostream& niftk::operator<< ( std::ostream &  os,
const BasicVertex &  vo 
)
std::ostream& niftk::operator<< ( std::ostream &  os,
const BasicTriangle &  to 
)
std::istream& niftk::operator>> ( std::istream &  str,
CSVRow &  data 
)

Specialisation of 'operator>>' for the niftk::CSVRow class

NIFTKVTK_WINEXPORT void niftk::PerturbPolyData ( vtkPolyData *  polydata,
double  xerr,
double  yerr,
double  zerr,
vtkRandomSequence *  rng 
)

Perturbs the points in a polydata object by random values, using existing random number generator.

Parameters
polydatathe polydata
xerr,yerr,zerrthe multipliers for the random number generator in each direction.
rngthe random number generator
Returns
void
NIFTKVTK_WINEXPORT void niftk::PerturbPolyData ( vtkPolyData *  polydata,
double  xerr,
double  yerr,
double  zerr 
)

Perturbs the points in a polydata object by with random values, intialising and using it's own random number generator.

Parameters
polydatathe polydata
xerr,yerr,zerrthe multipliers for the random number generator in each direction.
Returns
void
NIFTKVTK_WINEXPORT void niftk::PerturbPolyDataAlongNormal ( vtkPolyData *  polydata,
double  stdDev,
vtkRandomSequence *  rng 
)

Perturbs a vtkPolyData, by moving each point along its normal.

NIFTKPOINTREG_EXPORT double niftk::PointAndNormalBasedRegistrationUsingSVD ( const std::vector< cv::Point3d > &  fixedPoints,
const std::vector< cv::Point3d > &  fixedNormals,
const std::vector< cv::Point3d > &  movingPoints,
const std::vector< cv::Point3d > &  movingNormals,
cv::Matx44d &  outputMatrix 
)

Does Point Based Registration of two same sized, corresponding point sets.

Parameters
fixedPointsfixed point set.
movingPointsmoving point set.
outputMatrixoutput 4 x 4 homogeneous rigid body transformation.
Returns
fiducial registration error
NIFTKPOINTREG_EXPORT double niftk::PointAndNormalBasedRegistrationUsingSVD ( const mitk::PointSet::Pointer  fixedPoints,
const mitk::PointSet::Pointer  fixedNormals,
const mitk::PointSet::Pointer  movingPoints,
const mitk::PointSet::Pointer  movingNormals,
vtkMatrix4x4 &  matrix 
)

Overloaded method for MITK and VTK data types.

Calls the above method. Converts (copies) the point sets from the mitk::PointSet into a vector of cv::Point3D in order. The PointID in mitk::PointSet is not used, so the points must be in the right order, and corresponding.

NIFTKPOINTREG_EXPORT double niftk::PointBasedRegistrationUsingSVD ( const std::vector< cv::Point3d > &  fixedPoints,
const std::vector< cv::Point3d > &  movingPoints,
cv::Matx44d &  outputMatrix 
)

Does Point Based Registration of two same sized, corresponding, ordered point sets.

Parameters
fixedPointsfixed point set.
movingPointsmoving point set.
outputMatrixoutput 4 x 4 homogeneous rigid body transformation.
Returns
fiducial registration error
NIFTKPOINTREG_EXPORT double niftk::PointBasedRegistrationUsingSVD ( const mitk::PointSet::Pointer  fixedPoints,
const mitk::PointSet::Pointer  movingPoints,
vtkMatrix4x4 &  matrix 
)

Overloaded method for MITK and VTK data types.

Calls the above method. Converts (copies) the point sets from the mitk::PointSet into a vector of cv::Point3D in order. The PointID in mitk::PointSet is not used, so the points must be in the right order, and corresponding.

NIFTKIGIDATASOURCES_EXPORT bool niftk::ProbeRecordedData ( const QString &  path,
const QString &  fileExtension,
niftk::IGIDataType::IGITimeType firstTimeStampInStore,
niftk::IGIDataType::IGITimeType lastTimeStampInStore 
)

Returns the minimum and maximum timestamped of all files under the specified path, with the specified fileExtension, that look like they are timestamped.

NIFTKIGIDATASOURCES_EXPORT void niftk::ProbeTimeStampFiles ( QDir  path,
const QString &  suffix,
std::set< niftk::IGIDataType::IGITimeType > &  timeStamps 
)

Scans the path for individual files that match a timestamp pattern and suffix.

Parameters
suffixfor example ".jpg" or "-ultrasoundImage.nii".
NIFTKIGIDATASOURCES_EXPORT void niftk::ProbeTimeStampFiles ( QDir  path,
const QString &  suffix,
std::set< niftk::IGIDataType::IGITimeType > &  timeStamps,
QHash< niftk::IGIDataType::IGITimeType, QString > &  timeStampToFileName 
)

Scans the path for individual files that match a timestamp pattern and suffix.

Parameters
suffixfor example ".jpg" or "-ultrasoundImage.nii".
void niftk::Producer ( const mitk::StandaloneDataStorage::Pointer &  datastorage)
NIFTKVTK_WINEXPORT void niftk::RandomTransform ( vtkTransform *  transform,
double  xtrans,
double  ytrans,
double  ztrans,
double  xrot,
double  yrot,
double  zrot,
vtkRandomSequence *  rng 
)

Creates a randomly determined vtkTransform, using existing random number geneterator.

Parameters
transformthe transform to hold the result
xtrans,ytrans,ztrans,xrot,yrot,zrotthe multipliers in each of the 6 degrees of freedom
rngthe random number generator
Returns
void
NIFTKVTK_WINEXPORT void niftk::RandomTransform ( vtkTransform *  transform,
double  xtrans,
double  ytrans,
double  ztrans,
double  xrot,
double  yrot,
double  zrot 
)

Creates a randomly determined vtktransform, using it's own random number generator.

Parameters
transformthe transform to hold the result
xtrans,ytrans,ztrans,xrot,yrot,zrotthe multipliers in each of the 6 degrees of freedom
Returns
void
void niftk::RefcountTest ( const mitk::StandaloneDataStorage::Pointer &  datastorage)
NIFTKCORE_EXPORT int niftk::RemoveNaNPoints ( const mitk::PointSet &  pointsIn,
mitk::PointSet &  pointsOut 
)

Takes a point set and scans for matching NaN's and returns a point set with the offending points removed.

Returns
the number of points removed
NIFTKCORE_EXPORT vtkLookupTable * niftk::ResizeLookupTable ( vtkLookupTable *  lut,
double  newMaximum 
)

Resize the LookupTable while retaining all of the previously set values. Newly added values are assigned the nan color.

NIFTKCOMMON_WINEXPORT double niftk::RMS ( const std::vector< double > &  input)

Assuming input contains squared errors, will sum them, divide by N, and take sqrt for an RMS measure.

NIFTKCOMMON_WINEXPORT int niftk::Round ( double  d)
NIFTKCOMMON_WINEXPORT double niftk::Round ( double  d,
int  numberDecimalPlaces 
)
void NIFTKCUDAKERNELS_WINEXPORT niftk::RunEdgeDetectionKernel ( char *  outputRGBA,
unsigned int  outputBytePitch,
const char *  inputRGBA,
unsigned int  inputBytePitch,
int  width,
int  height,
cudaStream_t  stream 
)

Basic example kernel to do some edge detection, but is not yet implemented.

void NIFTKCUDAKERNELS_WINEXPORT niftk::RunFlipImageKernel ( char *  output,
int  widthInBytes,
int  height,
int  outputpitchInBytes,
const char *  input,
int  inputpitchInBytes,
cudaStream_t  stream 
)

Flips image in y-axis.

Width and pitch are in bytes. Pitch has to be a multiple of 4.

void NIFTKCUDAKERNELS_WINEXPORT niftk::RunUndistortionKernel ( char *  outputRGBA,
int  width,
int  height,
cudaTextureObject_t  srcTexture,
const float *  intrinsic3x3,
const float *  distortion4,
cudaStream_t  stream 
)

Provides 2D image undistortion, given a cameras intrinsic and distortion co-efficients.

NIFTKCOMMON_WINEXPORT double niftk::SafeSQRT ( double  value)

Returns 0.0 of value < 0 or sqrt(value) if value >= 0.

NIFTKVTK_WINEXPORT bool niftk::SaveMatrix4x4ToFile ( const std::string fileName,
const vtkMatrix4x4 &  matrix,
const bool &  silent = false 
)

Save the matrix to a plain text file of 4 rows of 4 space separated numbers.

Parameters
fileNamefull path of file name
matrixa matrix
booltrue if successful and false otherwise
NIFTKCORE_EXPORT bool niftk::SaveVtkMatrix4x4ToFile ( const std::string fileName,
const vtkMatrix4x4 &  matrix 
)

Save the matrix to a plain text file of 4 rows of 4 space separated numbers.

Parameters
fileNamefull path of file name
matrixa matrix
Returns
true if successful and false otherwise
NIFTKCORE_EXPORT void niftk::ScalePointSets ( const mitk::PointSet &  input,
mitk::PointSet &  output,
double  scaleFactor 
)

Copies input to output, i.e. the output is erased, and re-populated, multiplying by a scale factor.

NIFTKVTK_WINEXPORT void niftk::ScaleVector ( const double &  scaleFactor,
const double *  a,
double *  b 
)

Scales the unit vector a by scaleFactor, and writes to b, so a and be must be an array of length 3.

NIFTKVTK_WINEXPORT void niftk::SetCameraParallelTo2DImage ( const int imageSize,
const int windowSize,
const double *  origin,
const double *  spacing,
const double *  xAxis,
const double *  yAxis,
const double *  clippingRange,
const bool &  flipYAxis,
vtkCamera &  camera,
const double &  distanceToFocalPoint = -1000 
)

Used to set a vtkCamera to track a 2D image, and sets the camera to parallel projection mode.

Parameters
imageSizearray of 2 integers containing imageSize[0]=number of pixels in x, imageSize[1]=number of pixels in y of the image
windowSizearray of 2 integers containing width and height of the current window.
originarray of 3 doubles containing the x,y,z coordinates in 3D space of the origin of the image, presumed to be the centre of the first (0,0) voxel.
spacingarray of 2 doubles containing the x and y spacing in mm.
xAxisarray of 3 doubles containing the x,y,z direction vector describing the x-axis.
yAxisarray of 3 doubles containing the x,y,z direction vector describing the y-axis.
clippingRangearray of 2 doubles containing the near and far clipping range.
flipYAxisif true we flip the y-axis.
NIFTKCOMMON_WINEXPORT double niftk::StdDev ( const std::vector< double > &  input)

To return the sample standard deviation of a vector.

NIFTKVTK_WINEXPORT void niftk::SubtractTwo3DPoints ( const double *  a,
const double *  b,
double *  output 
)

Subtracts two 3D points, so a, b and output must be arrays of length 3.

NIFTKCORE_EXPORT vtkLookupTable * niftk::SwapColors ( vtkLookupTable *  lut,
int  value1,
int  value2 
)

Swap colors in the LookupTable at the given indices.

int niftk::SymMatDim ( int  count)
void niftk::TestAreDifferent ( )
void niftk::TestCalculateStepSize ( )
void niftk::TestCheckForNaNPoint ( )
void niftk::TestComputeNormalFromPoints ( )
void niftk::TestErrorConditions ( )
void niftk::TestFilterMatchingPoints ( )
void niftk::TestFindLargestDistanceBetweenTwoPoints ( )
void niftk::TestGetDifference ( )
void niftk::TestGetSquaredDistanceBetweenPoints ( )
void niftk::TestIdentity ( )
void niftk::TestInstantiation ( )
void niftk::TestNormalise ( )
void niftk::TestRemoveNaNPoints ( )
void niftk::TestRMS ( )
void niftk::TestScalePointSets ( )
void niftk::TestSetGet ( )
void niftk::TestSimpleCases ( )
NIFTKCORE_EXPORT void niftk::TransformPointByVtkMatrix ( const vtkMatrix4x4 *  matrix,
const bool &  isNormal,
mitk::Point3D &  pointOrNormal 
)

Simple method to multiply a mitk::Point3D by a vtkMatrix, if the matrix is not NULL, and otherwise if matrix is NULL, will simply leave the point un-altered.

Parameters
isNormalif true, will transform the mitk::Point3D as if it was a surface normal.
NIFTKCORE_EXPORT void niftk::TransformPointsByVtkMatrix ( const mitk::PointSet &  input,
const vtkMatrix4x4 &  matrix,
mitk::PointSet &  output 
)

Multiplies one point set by a matrix.

NIFTKVTK_WINEXPORT void niftk::TranslatePolyData ( vtkPolyData *  polydata,
vtkTransform *  transform 
)

Translates a polydata object using a transform.

Parameters
polydatathe polydata
transformthe transform
Returns
void
void NIFTKCUDA_EXPORT niftk::UndistortionLauncher ( char *  hostInputImageData,
int  width,
int  height,
int  widthStep,
float *  intrinsics,
float *  distortion,
char *  hostOutputImageData 
)

Runs the CUDA based image undistortion.

See also
niftk::RunUndistortionKernel
Parameters
hostInputImageDatahost-side input 4-channel image data, such as might be obtained from an IplImage
widththe width of the image in pixels
heightthe height of the image in pixels
widthStep= width * channels (4)
intrinsicsarray of 9 floats containing camera intrinsics
distortionarray of 4 floats containing distortion coefficients
NIFTKCORE_EXPORT void niftk::UpdateVolumeProperty ( const mitk::Image *  image,
mitk::DataNode *  node 
)

Calculates the volume of non-zero voxels in image, and creates a property "midas.volume" on the data node.

Parameters
imageAn MITK image, not NULL.
nodeAn MITK DataNode, not NULL.
int* niftk::UpperToLowerOrder ( int  dim)
niftk::vtkStandardNewMacro ( VTK4PointsReader  )
niftk::vtkStandardNewMacro ( BackfaceCullingFilter  )
void niftk::WaitForResult ( const mitk::StandaloneDataStorage::Pointer &  datastorage)
NIFTKVTK_WINEXPORT std::string niftk::WriteMatrix4x4ToString ( const vtkMatrix4x4 &  matrix)

Writes matrix out as a string, for use in SaveMatrix4x4ToFile.

float NIFTKOPENCV_EXPORT niftk::Zncc_C1 ( int  p0x,
int  p0y,
int  p1x,
int  p1y,
int  w,
boost::gil::gray8c_view_t  img0,
boost::gil::gray8c_view_t  img1,
boost::gil::gray32sc_view_t  integral0,
boost::gil::gray32sc_view_t  integral1,
boost::gil::gray64fc_view_t  square0,
boost::gil::gray64fc_view_t  square1 
)

Variable Documentation

const QString niftk::IMAGE_INITIALISATION_LEVELWINDOW
const QString niftk::IMAGE_INITIALISATION_METHOD_NAME
const QString niftk::IMAGE_INITIALISATION_MIDAS
const QString niftk::IMAGE_INITIALISATION_PERCENTAGE
const QString niftk::IMAGE_INITIALISATION_PERCENTAGE_NAME
const QString niftk::IMAGE_INITIALISATION_RANGE
const QString niftk::IMAGE_INITIALISATION_RANGE_LOWER_BOUND_NAME
const QString niftk::IMAGE_INITIALISATION_RANGE_UPPER_BOUND_NAME
const mitk::OperationType niftk::OP_CHANGE_SLICE = 9320411
const mitk::OperationType niftk::OP_CLEAN = 9320415
const mitk::OperationType niftk::OP_PROPAGATE = 9320417
const mitk::OperationType niftk::OP_PROPAGATE_SEEDS = 9320412
const mitk::OperationType niftk::OP_RETAIN_MARKS = 9320413
const mitk::OperationType niftk::OP_THRESHOLD_APPLY = 9320414
const mitk::OperationType niftk::OP_WIPE = 9320416
RegisterNifTKCoreIOObjectFactory niftk::registerNifTKCoreIOObjectFactory
static
RegisterNifTKCoreObjectFactory niftk::registerNifTKCoreObjectFactory
static
const MethodDescription niftk::s_AvailableMethods[]
static
Initial value:
=
{
{"Sequential Quasi-Dense CPU", SurfaceReconstruction::SEQUENTIAL_CPU}
}
impldetail::ModuleCleanup niftk::s_ModuleCleaner
int niftk::tunnelOrientation = 0
const char* niftk::type[]
static
Initial value:
= {
"",
"(int) ",
"(float) ",
"(string) ",
"(var) ",
"",
"(double) ",
"(long) ",
"(intx2) ",
"(intx3) ",
"(intx4) ",
"(floatx2) ",
"(floatx3) ",
"(floatx4) ",
"(doublex2) ",
"(doublex3) ",
"(doublex4) ",
}
const int niftk::VIRTUAL_SROM_SIZE =1024
const int niftk::WINDOW_LAYOUT_NUMBER = 15

The number of the possible window layouts.

const int niftk::WINDOW_ORIENTATION_NUMBER = 4

The number of the possible orientations.