Orient3D Overview

From Visual3D Wiki Documentation
Jump to: navigation, search
Language:  English  • français • italiano • português • español 

Orient3D prepares surface models created by Surface3D (or third-party software such as Mimics and ScanIP) for use in kinematic analysis after they have been tracked in X4D or Locate3D. With it you can define a local coordinate system for each object, landmarks, such as ligament attachment sites, and regions of interest (ROIs), which are used in the calculation of distance maps. The local coordinate system of an object is usually, but not necessarily, its “anatomical” reference frame. When a local coordinate system is defined for an object, it is stored in the subject file as a transform from the frame of the object’s segmented image data to the local coordinate system. To analyze tracking results from X4D in Visual3D, the surface model, landmarks, and regions of interest must be saved in the local coordinate system. Even if you are not exporting your data for kinematic analysis in Visual3D, it is still recommended to define the anatomical coordinate system in Orient3D. X4D's tracking results are output using this coordinate system, and it is easier to manipulate the bone in X4D when an anatomical coordinate system is defined.

O3D FullScreen.png

Tutorials

How To: Define the LCS of an Object

How To: Define Regions of Interest on an Object

Menus

     File Menu
     O3D LoadSubjectButton.png
The Load Subject command loads a Subject file.
This command can also be accessed with the Ctrl + O shortcut.
     O3D SaveSubjectButton.png
The Save Subject command saves the currently loaded subject to its existing Subject file.
This command can also be accessed with the Ctrl + S shortcut.
     O3D SaveSubjectAsButton.png
The Save Subject As command saves the currently loaded subject to a new Subject file.
     O3D LoadSurfaceButton.png
The Load Surface command loads a single surface model file. If you load a surface with this command, there is no way to save the local coordinate system or any landmarks you may define, because these items are saved in the subject XML. Orient3D is able to load the following formats:
Wavefront1 (*.obj)
Open Inventor (*.iv)
After the file is loaded the surface model is automatically triangulated to facilitate additional processing, such as decimating and smoothing.
Note: Orient3D currently ignores color and texture definitions from MTL and COL files that sometimes accompany Wavefront OBJ files.
     O3D SaveSurfaceGlobalButton.png
The Save Surface (global frame) command saves the current surface model in the global reference frame as an OBJ file. If a subject file is loaded, it will be updated with the name of the saved surface file. The file dialog contains an option for specifying the units of the vertex coordinates.
     O3D SaveSurfaceLocalButton.png
The Save Surface (local frame) command saves the current surface model in its local reference frame as an OBJ file. If a subject file is loaded, it will be updated with the name of the saved surface file. The file dialog contains an option for specifying the units of the vertex coordinates. Meters should be chosen if you plan to import the surface model into Visual3D.
     O3D ExitButton.png
The Exit command exits the program and all unsaved data will be lost.
The program can also be closed by using the X in the top right corner of the program window.
     LCS Menu
     O3D ResetLCS.png
The Reset to Identity command resets the LCS to the identity matrix (i.e., aligned with the global frame).
     O3D LCSFromFileButton.png
The Load from File command loads a 4x4 transform matrix from a file and assigns it to the LCS. The transform must be specified as 16 comma-separated values defining the row-major transform from the global frame to the local frame.
     O3D LCSSaveButton.png
The Save to Subject Object command saves the current LCS to the subject object in the subject file. It is useful for saving the LCS when you have manually moved it on the surface model in the 3D window. If you use an algorithm to calculate the LCS, or load it from a file, the subject file is automatically updated, so you do not need to use this command.
     Surface Menu
     O3D EraseROIPolygonsButton.png
Toggles in and out of Erase ROI Polygons mode. In this mode, the cursor changes to a crosshair with the label ROI eraser. If you press and hold the left mouse button and drag the cursor over the surface model, all polygons under the cursor will be removed from any ROIs. This is useful for "cleaning up" an ROI if it projected onto an undesired part of the surface model. You can also press Esc to exit this mode. There is no undo for this command.
     View Menu
     O3D DisplayGlobalAxes2.png
The Display Global Axes control toggles the display of the global coordinate system in the 3D view.
It can also be toggled using the Alt + G shortcut.
     O3D DisplayLocalAxesButton2.png
The Display Local Axes control toggles the display of the local coordinate system in the 3D view.
It can also be toggled using the Alt + L shortcut.
     O3D DisplayCylinderButton2.png
The Display Cylinder control toggles the display of a cylinder to which the surface model can be aligned when preparing the surface for use in Visual3D. The z-coordinates of the cylinder range between -1.0 and 0.0 and its radius is currently hard-coded to 0.2.
It can also be toggled using the Alt + C shortcut.
     O3D DisplayROIAnnotations.png
The Display ROI Annotations control toggles the display of annotations on the subregions of each ROI.
They can also be toggled using the Alt + R shortcut.
     O3D ObjectConfigurationButton2.png
The Object Configuration control toggles the appearance of the dockable Object Configuration widget.
It can also be controlled using the Ctrl + Shift + O shortcut.
     O3D LandmarksButton2.png
The Landmarks control toggles the appearance of the dockable Landmarks widget.
It can also be controlled using the Ctrl + Shift + L shortcut.
     O3D LocalCoordinateSystemButton2.png
The Local Coordinate System control toggles the appearance of the dockable Local Coordinate System widget.
It can also be controlled using the Ctrl + Shift + C shortcut.
     O3D RegionOfInterestsButton2.png
The Regions of Interest control toggles the appearance of the dockable Regions of Interest widget.
It can also be controlled using the Ctrl + Shift + R shortcut.
     O3D ParametersButton2.png
The Parameters control toggles the appearance of the dockable Parameters widget. This widget is only available when a subject file is loaded.
It can also be controlled using the Ctrl + Shift + P shortcut.
     Help Menu
     S3DHelpButton.png
The Help command opens the Orient3D wiki page in the default browser. The F1 shortcut can also be used.
     S3DAboutButton.png
The About option displays a dialog with information about Orient3D, including the installed version number. It also contains the Deactivate button, for deactivating your Orient3D license.

Widgets

     Object Configuration

O3D ObjectConfigurationWidget.png

     Subject
The Subject field is automatically populated with the ID of the subject when you load a subject file.
     Session
The Session drop down menu is automatically populated with all of the sessions available when you load a subject file.
     Object
The Object list is automatically populated with all of the subject objects when you select a session. If the object has a Surface File or ROI Surface File specified for it, the object is enabled in the list so you can select it. The object that is selected is displayed in the 3D view. You can select only one object at a time.
     Landmarks

O3D LandmarksWidget.png

Landmarks are 3D locations on a surface model, such as ligament attachment points, that you digitize for later use in other applications.
Their coordinates are expressed in the reference frame of the object’s segmented image data (not the “local coordinate system”), and are stored in the subject file.
     Add Landmark
The Add Landmark button creates a new landmark. Click on the button and move the cursor into the 3D view. The cursor will change into a crosshair with the label "NEW LANDMARK." Click anywhere on the surface model to create a landmark at that location. Press Esc before clicking on the model to cancel the command. Once the landmark has been digitized and added to the table, you can double-click on its name and change it.
     Table
The Table lists all of the landmarks that are defined in the object, with their names and X, Y, and Z coordinates. To change the name of a landmark, double-click on the name and type in a new one. To move an existing landmark, select the landmark in the list and then click on the new location on the surface model.
     Remove Landmark
The Remove Landmark button deletes a landmark. Select the landmark in the table and then click this button to remove it.
     Local Coordinate System

O3D LocalCoordinateSystemWidget2.png

This widget lets you create a local coordinate system (LCS) for each subject object in your data set. Before tracking objects in X4D or Locate3D, you should define LCSs for them because the tracking output for each xray frame is the transform from the xray lab frame to the object's LCS. The LCS is stored in the subject file, and is expressed as the transform from the object's segmented image frame to its local coordinate system. There are three methods of defining an LCS, as described in How To: Define the LCS of an Object.
     LCS Algorithms
The LCS algorithms are implemented in a dll plugin framework, so it is possible to write your own and plug it into Orient3D. The currently implemented algorithms are:
  1. Vertebra [Anderst] Anderst, W., personal communication. This algorithm is designed for vertebral disks, and puts the LCS in the middle of the disk with Y pointing superiorly and Z anteriorly. It requires placement of eight landmarks, four around the perimeter of the superior surface of the disk, and four around the perimeter of the inferior surface of the disk.
  2. Distal Femur [Miranda] Miranda, D., et al. J Biomech 43(8), pp. 1623–26, 2010. This algorithm does not require any landmarks, but supports the use of three optional ones. It is recommended that you first try the algorithm without any landmarks. If the LCS is not calculated properly (which can happen if the femoral shaft is too short), try adding the Anterior landmark, which can go anywhere on the anterior side of the femur. If the LCS is still not right, try adding ShaftProximal and ShaftDistal, which are used to define the long axis of the femoral shaft.
  3. Proximal Tibia [Miranda] Miranda, D., et al. J Biomech 43(8), pp. 1623–26, 2010. This algorithm does not require any landmarks, but supports the use of three optional ones. It is recommended that you first try the algorithm without any landmarks. If the LCS is not calculated properly (which can happen if the tibial shaft is too short), try adding the Anterior landmark, which can go anywhere on the anterior side of the tibia. If the LCS is still not right, try adding ShaftProximal and ShaftDistal, which are used to define the long axis of the tibial shaft.
     Visual3D
The Visual3D panel lets you create an LCS using Visual3D's method of defining proximal and distal joints with targets. Consult the Visual3D documentation for details on this method.
     Regions of Interest
Regions of interest (ROIs) are portions of an object's surface model that have been labelled as belonging to a particular group. They are used to calculate distance maps for articulating bones by finding the shortest distance from each point in one ROI to the corresponding ROI on a neighboring bone. For example, on the distal femur it is common to define an ROI on the lateral condyle and another one on the medial condyle. On the proximal tibia, an ROI would cover the medial half of the plateau, and a second ROI would cover the lateral half. After both bones have been tracked for a motion trial, distance maps between the medial femur and medial tibia ROIs could be calculated, and the same for the lateral side. In Visual3D these maps can be displayed as color tables on the articulating bones, and used to graph shortest bone-to-bone distances during the trial. Before defining ROIs on an object, it is important to define the LCS first. When ROIs are created, they are aligned with the LCS so that it is easier to interpret distance calculations, and to ensure that all ROIs on an object align with each other. Like the LCS algorithms, the ROIs are implemented in a dll plugin framework, allowing you to integrate your own ROI types. There are currently three types of ROIs:
     Rectangle [NxM]
Rectangle [NxM] is a flat rectangular ROI whose normal vector is specified by the orientation parameter. It is divided into NxM subregions, and is projected onto the object along the negative of its orientation axis. Its initial placement on the object is specified by four landmarks: edge1, edge2, edge3, and edge4. These landmarks do not need to be placed in any specific order, or in any specific locations relative to each other. They are used to define the minimum and maximum extents of the ROI in the two non-principal dimensions in the object’s local coordinate system. For example, if the ROI’s orientation is +Z or -Z, then the minimum and maximum X and Y coordinates of the four landmarks define the ROI rectangle in the XY plane.

O3D SampleRectangleROI.png

     Swept Rectangle [NxM]
Swept Rectangle [NxM] is a curved rectangular surface divided into NxM subregions. It is useful for defining ROIs on curved bone surfaces such as the femoral condyles. Its placement is defined by four landmarks: curve1, curve2, curve3A, and curve3B. The first three landmarks define the arc along which the ROI is swept. They also define the direction with N subregions. Curve3B should be placed such that the vector from curve3A to curve3B is perpendicular to the arc, and along the orientation axis of the ROI. Curve3A and curve3B define the direction with M subregions and the distance between them defines the width of the ROI. When the ROI is projected, each subregion is projected along [the negative of] its normal. Because the normals of adjacent subregions along the length of the arc are not parallel, their projections on the object surface will overlap. In these cases the overlapping surface is bisected and divided equally between the two subregions.

O3D SampleSweptRectangleROI.png

     Disk
Disk is a circular flat circular ROI whose normal vector is specified by the orientation parameter. It is divided into NxM subregions, and is projected onto the object along the negative of its orientation axis. Its placement is defined by two mandatory and two optional landmarks. The mandatory landmarks are Center and Outer Radius, which define the center and outer perimeter of the ROI, respectively. These mandatory landmarks also define the direction with N subregions. The optional Inner Radius defines the radius of the hole inside the ROI, and the Pie Angle allows you to remove a pie-shaped slice from the disk. The slice is defined by the angle Pie Angle-Center-Outer Radius (the slice between Pie Angle and Outer Radius is removed).

O3D SampleDiskROI1.png O3D SampleDiskROI2.png

     Add
The Add button creates a new ROI and adds it to the list.
     Remove
The Remove button deletes the selected ROI, even if it has been placed (but not projected) on the surface model. However, if the ROI has already been projected, it does not remove it from the model.
     Place
The Place button places the ROI on the surface model, based on the landmarks. You can then check and modify its positioning before projecting it on the model.
     Adjust
The Adjust button enters and exits manual ROI adjustment mode. In this mode the placed ROI can be moved manually using the mouse buttons. Pressing the button a second time exists adjustment mode.
     Project
The Project button projects the placed ROI onto the surface model. Each ROI subregion is projected along its normal to determine the polygons of the surface that it intersects. These polygons are labelled with that subregion's label.
     Clear Surface
The Clear Surface button clears all of the ROI labels from the surface model.
     Parameters

The Parameters widget is populated when a Subject file is loaded.

O3D ParametersWidget.png
     ROI Offset Factor
ROI Offset Factor is the amount to offset the ROI surface along the principal axis, specified as a percentage (0.0 to 1.0) of the maximum dimension of the object. The default value is 0.03. The principal axis depends on the type of ROI, but is roughly equal to the direction of projection.
     Principal ROI Expand
Principal ROI Expand is the scale factor for the search box in the principal direction of the ROI. The principal axis depends on the type of ROI, but is roughly equal to the direction of projection.
The default value is 5.0.
     Secondary ROI Expand
Secondary ROI Expand is the scale factor for the search box along the width of the ROI. The default value is 2.0.
     Tertiary ROI Expand
Tertiary ROI Expand is the scale factor for the search box along the length of the ROI. The default value is 2.0.
     3D View

The 3D View shows the surface model of the currently loaded object. It can also display the global and local coordinate systems. You can change the view of the model using these commands:

For 3-button mice:
the left button rotates
the right button zooms
the middle button pans
Ctrl + left button spins about an axis perpendicular to the screen
the mouse wheel zooms
For 2-button mice:
Ctrl + Shift + left button zooms
Shift + left button pans

R: Centers the surface model in the window.

O3D 3DView.png]

Retrieved from ""