Fig. 1
The original published lookup table
Algorithm 1 presents the MC algorithm written in pseudocode.
Each image (CT scan’s slice) has associated metadata arranged by tags provided by the DICOM standard. This metadata contains information about the file, the patient it belongs to as well as the study. Among this information, some tags characterize the whole volume, like space between slices (tag 0018,0088), slice thickness (tag 0018,0050), slice location (tag 0020,1041) and number of slices (tag 0054,0081). Voxels parameters, such as position and thickness are set using the information provided by these tags. The MC algorithm then uses the voxels information to create the 3D models.
Figure 2 shows an example of a CT scan’s slice, where its volumetric matrix structure is illustrated. The 3D representations of the surgical template’s models are also polygon meshes, modeled after the original. Merging these models in the same graphic’s scene along with the generated isosurfaces, will enable the visual intersection of both and give the ability to rotate and position each model independently.
Fig. 2
Example of a CT scan’s slice
Since the surgeon is more familiar with the 2D representation of each slice, the application provides both ways of presenting the data. A MPR technique is used to help the surgeon better visualize the axial, coronal and sagittal planes of each CT scan’s slice (Fig. 3). When rendering in conjunction with the 3D generated model in the same scene, the surgeon is able to pan each 2D plane and visualize each slice representation independently in another viewer.
Fig. 3
OrthoMED Multi-planar Rendering visualization
3 The OrthoMED Plugin
The proposed solution, which we named OrthoMED, was developed in C++ and Objective-C as a plugin for OsiriX [12,13] using a set of open source libraries written in the same programming language. They are OsiriX DCM Framework, used to read the DICOM files and their metadata, ITK and GDCM, to parse and process each DICOM file and VTK, to implement the MC algorithm and 3D visualization [6,7,11]. OsiriX was chosen since it is a widely used viewer for medical purposes, allowing a minimized learning curve associated with the usage of this new tool.
Figure 4 presents the application’s internal workflow to create an isosurface from a CT scan. For OsiriX to detect OrthoMED as a plugin it is necessary to create a sub-class of PluginFilter. That way it is possible to open the plugin from the OsiriX’s main menu and import the CT scan from its ViewerController. Then, to read and extract meta-information from de CT scan (e.g., Patient’s name, Patient’s age) the OsiriX DCM Framework was used. By creating an instance from DCMObject all the meta-information associated to the CT study can be retrieved. With ITK and the GDCM libraries, the CT scan can be read and converted to a VTK object to be displayed on screen.
Fig. 4
OrthoMED’s internal workflow to create an isosurface from a CT scan
VTK has an implementation of the MC algorithm that when executed results in an isosurface of chosen HU where the templates can later be added.
Figure 5 presents the application’s workflow, beginning with the CT scan’s upload and ending with the report export. Since the isosurfaces and the templates are now structurally compatible, with VTK they can be resized and its position changed in the same geometric plane.
Fig. 5
OrthoMED’s workflow
The proposed solution workflow can be divided in six steps:
Step A
Select the imaging study (i.e. CT scan) and run the OrthoMED plugin. This step is done within the OsiriX environment;
Step B
The current imaging study is transferred to the plugin that as a first interaction asks for the initial HU value for the isosurface to be created. Once this value is entered, the isosurface is generated and displayed. This isosurface is extracted using the MC algorithm;
Step C
Add surgical templates and handle them, changing their positions in a 3D space. These templates model the implants that will be used in the surgery;
Step D
Add different isosurfaces, enabling the analysis of existing intersections in the surrounding tissues;
Step E
Slice the generated model that includes all the surgical templates. These slices are made in a chosen plane and in the initial isosurface;
Step F
Export the report with the patient’s info, a list of the physical implants used, selected images and notes that the surgeon included.
During Step C the surgeon is able to visualize the patient’s CT scan with MPR, allowing its analysis in three different planes. By moving the related plane, the surgeon is now able to visualize each slice from the chosen plane. This is very helpful because it allows the precise location of the fracture.
Figure 6 presents a screenshot of OrthoMED’s main window with its five sections:
Fig. 6
OrthoMED’s main window
a)
Opens the window with the surgical templates database, where the surgeon can choose which template he wants to add. These templates are the 3D digital representation of a real template. They have the same shape and size;