An orthoslice module that works in conjunction with Read_DICOM to produce correctly orientated 2D slices of medical data.
Name | Type | Description |
in | link (Mesh_Unif+Node_Data) | Field containing a DICOM volume |
axis | int | slice direction perpendicular to x(0), y(1) or z(2) axis |
plane | int | the slice to extract |
Name | Type | Description |
out | link (Mesh_Unif+Node_Data) | a link to a 2D Field represent to request slice |
obj | link (DataObject) | renderable object |
In the main this module works similarly to the standard AVS/Express orthoslice module, with the following expections:
The way in which ReadDICOM works and clincians expect to view the slices means that the the standard orthoslice doesn't necessarily produce slices that are correctly orientated, especially when displayed in a 2D view e.g, Patient Left is on the left rather than the right. In a 3D view since the images can be viewed from either side anyway the feature of DICOM_Orthoslice aren't required. For DICOM_Orthoslice to work some assumptions are made about the DICOM data:
ReadDICOM places each slice face down starting at z = 0, consecutive slices are added at incremental z positions. The AVS/Express orthoslice when set to the z axis (2) look from the green view point whereas the desired direction and the one returned by DICOM_Orthoslice is from the blue view point this being the axial view. There is a similar problem in the y axis, coronal view.
in
A Mesh_Unif+Node_Data possibly originating from a Read_DICOM macro but not necessarily
axis
Which axis to slice; 0 = x, sagittal , 1 = y, coronal, 2 = z, axial
plane
Which slice to return in the range 0 to dims[axis]-1
out
A 2D Mesh_Unif+Node_Data of the requested slice
obj
A renderable object
The DICOM_Orthoslice_Eg application requires Read_DICOM (the user must also provide the data) and uses DICOM_Orthoslice to present the three orthogonal views of the data.
iac_proj/dcmortho/dcmortho.v Creates the IAC_PROJ.DICOMOrtho library
iac_proj/dcmortho/dcmomods.v Creates the DICOMOrthoMods library containing the low-level module DICOM_orthoslice_unif.
iac_proj/dcmortho/dcmomacs.v Creates the DICOMOrthoMacs library containing the high-level user macro DICOM_Orthoslice, functional macro DICOM_Orthoslice_Unif and user interface macro DICOM_Orthoslice_UI.
iac_proj/dcmortho/dcmoapps.v Creates the DICOMOrthoApps library containing the example application macro DICOM_OrthosliceEg.
It is possible that in future that Read_DICOM will change the orientation in which it loads the data making this macro unnecessary.
Developed as part of the Sir Jules Thorn Charitable Trust funded project CAMRAS
James S. Perrin, Manchester Visualization Centre
International AVS Centre Manchester Visualization Centre Kilburn Building University of Manchester Oxford Road Manchester United Kingdom M13 9PL