AMIDE Basics

As the use of AMIDE is bound to be completely intuitive only to the one who wrote the program (i.e. me), this section provides a brief overview of operating within the program. It assumes you already have a data set loaded in. For instructions on getting a data set into AMIDE, see the section called “Importation of Data Sets”

A Quick Theory of Operations

AMIDE Objects

AMIDE can work with and display a large number of objects simultaneous (limited only be available memory). The object types current implemented in AMIDE are as follows:

Data Set

A data set object contains the raw information from a medical imaging study, along with the corresponding parameters needed for interpreting that information (thresholds, colormaps, etc.).

ROI

A region of interest object defines a volume of space over which statistics can be calculated. All ROI's in AMIDE are volumetric. Currently, AMIDE implements ellipsoid, cylinderical, rectangular, and isocontour based ROI geometries.

Fiducial Mark

A very simple object, fiducial marks encode only the location of a reference point in space, and are used for rigid body alignment.

Study

Each AMIDE session has a single study object, which is used for grouping together a number of related data sets, ROI's, and fiducial marks.

Object Tree

Figure 1. Study Tree

An example of a study's tree structure within AMIDE. The two data sets (FDG PET and microCT) and 1 ROI (bladder) are children of the study object (m2862). The remaining ROI's are children of the data sets.

In order to facilitate working with a large number of objects simultaneously, AMIDE conceptually groups all objects into a tree hierarchy, with the study object as the root of the tree (see Figure 1, “Study Tree”). Data set objects will generally be primary branches off of the study object, while ROI's can be branches off of the study object or off of individual data sets. Why is this important? Because the structure of the tree determines how movements are mapped within the program. If a data set is moved relative to the rest of the study, the ROI's that are branches from that data set object will be correspondingly moved, so that they will maintain the correct orientation and position with respect to the data set that is their parent.

Real World Units

An important thing to realize when working with AMIDE is that the program will try to abstract away the underlying digital format of the data as much as possible. When you listen to digital audio, the CD player automatically converts the series of 0's and 1's encoded on the compact disc into an analog format so that you don't have to worry about the underlying digital format. Similarly, AMIDE presents the digital data to you in analog form. When ever possible, units are given in terms of real world units (e.g. mm's, seconds), and most operations are not constrained by the discrete nature of the underlying data. For example, data in AMIDE is viewed in terms of "slices", not fixed image planes. These slices can be taken from the data set at arbitary angles, and can be of any thickness (they are not constrained to be integer multiples of the underlying voxel size). You may be used to looking at medical images in terms of voxels and integers, but remember that the object or subject scanned is an item in the real world, and AMIDE tries to recreate this "analog signal" for you.

The only place the abstraction starts to break down is when dealing with dynamic data sets. Einstein understood time to be a "special" dimension, and AMIDE agrees. The reason for this, is that trying to represent dynamic data as anything but separate frames of data becomes overly complex from a computational standpoint, primarily because dynamic data is generally not equally spaced. While moving 1 voxel in the x, y, or z directions will always move you a constant unit of measurement (say 0.4 mm) in the appropriate direction, moving 1 voxel in the t direction may move you 30 seconds or 30 minutes in time, depending on what frame you're looking at. Because of this, AMIDE deals with dynamic data in terms of frames, although it should always tell you the time that those frames correspond to.

Components of the Display

Figure 2. AMIDE Main Window

A diagram pointing out the salient features of the main window

Context Sensitive Help

Located in the lower left corner of the window, the context sensitive help window shows what different mouse buttons and key strokes can accomplish given the current cursor position. Note that mouse buttons are labelled in UNIX fashion. Buttons 1, 2, and 3 correspond to the left, middle, and right mouse buttons, respectively. Under Macintosh OS X, the middle and right buttons are emulated by pressing the option key or the open apple key, respectively, while pressing the mouse button.

Tree View of Study Data

Located on the left side of the window is a tree listing of all the objects in the study. The tree structure shows how movements will be propogated to other objects in the study. For instance, if a data set is rotated, all of its children will be correspondingly rotated.

Objects in the tree can be selected for display by left clicking on the name of the object. Middle clicking on a data set will make that data set the "active" data set. The "active" data set is designated by being highlights, and when a function is chosen that can logically apply to only one data set (e.g. filtering), the active data set is the one chosen.

Object modification dialog boxes can be brought up by right clicking on the corresponding object. ROI's can be added by right clicking on the blank area of the tree, or shift-right clicking on one of the objects. These functions are further described in the section called “Manipulating Medical Data Sets ” and the section called “Using Regions of Interest (ROI's)”.

Orthogonal Views

Most of the main window display consists of the orthogonal views used for visually displaying the data sets being studied. Data is usually presented as three orthogonal slices taken from the data sets, but the user can choose to display fewer of these views if desired by using the view selector (described below in the section called “View Selector”). The three views shown are the transverse, coronal, and sagittal planes. Note that the views may be incorrectly labeled for you. This could be because the data in the file you imported was not in the order that AMIDE expected it to be in. It could also be because you want to use the transverse/coronal/sagittal terminology differently then the program does (e.g. a coronal section of a rat brain is not the same as a coronal section of a rat).

Below the views are sliders for adjusting where in the data set the slices are being taken from. The location can also be changed by directly clicking on any of the canvases. The appropriate mouse clicks are as follows

Left Mouse Button

Changes the location in the data set that the slices are taken from, without changing the thickness of the slices.

Middle Mouse Button

Change the location in the data set that the slices are taken from, along with setting the thickness of the slices to the minimum reasonable.

Right Mouse Button

Clicking an dragging with this button changes the thickness of the slices without changing the location. The thickness of the viewed slices can also be altered by adjusting the slice thickness setting spin button (see the section called “Slice Thickness Setting”).

Other

Additional functionality of the mouse buttons for manipulating data sets and ROI's is explained in the section called “Manipulating Medical Data Sets ” and the section called “Using Regions of Interest (ROI's)”

View Selector

Which of the three orthogonal views are shown can be selected by using these toggle buttons. By default, all three views are shown.

Linked Viewing

In addition to the three orthogonal views, AMIDE can display mutiple sets of these orthogonal views, all looking at the same point ("linked") in three dimension space. This is most often used for looking at fusion images of two data sets, with one set of views used for the first data set, the next set of views used for the second data set, and the third set of views used for the fusion of the two data sets.

Thresholding Tool

This button on the toolbar will pop-up a thresholding and colormap selection dialog for the currently active data set. In the dialog, the maximum and minimum thresholding levels can be changed by either directly typing in the values (in absolute or percentage units), or by using sliders on the color bar. The color scale can be changed using the corresponding drop-down menu. A log normalized histogram is shown to give an idea of the distribution of the data set's value. Finally, the thresholding type can be changed. The thresholding type determines how the maximum and minimum threshold values are applied to the data set, and are:

Per Slice

The max and min threshold values will be applied in proportion to the max and min values in the current slice of data

Per Frame

The max and min threshold values will be applied in proportion to the max and min values in the current frame of the data set

Interpolate Between Frames

This threshold mode only makes sense for dynamic studies. In this mode, two sets of max and min threshold values are specified, along with which frame of data each of these sets corresponds to. For data frames before and including the first reference frame, the first set of threshold values are used. For data frames after and including the second reference frame, the second set of threshold values are used. For data frames between the two reference frames, the max and min threshold values are derived by interpolating (as a function of time) between the two sets of thresholding values.

Global

The max and min threshold values will be applied in proportion to the max and min values in the entire data set

If the data set's modality is set to CT, buttons will be shown for applying bone and soft tissue windows as the thresholds.

Zoom Selector

This specifies how much to enlarge the views. AMIDE tries to make an educated guess about how large the display of the data should be, by using the smallest voxel dimension from the data set with the largest voxels to correspond to a displayed pixel. Zoom can be used in addition to that guesswork.

Slice Thickness Setting

Thickness specifies how deep the slices displayed on the views are. The minimum slice thickness is determined by the smallest voxel dimension of any of the data sets in the study.

Frame Selector

This button pops up a dialog for picking which frames of data to show from a dynamic data set. A frame (i.e. time period) to display can be selected by clicking on a list element. Multiple frames can be selected by holding down the shift key and selecting additional frames. Note, that for each data set selected for view, at least one frame from that data set will be displayed. If the choosen time period does not encompass a frame from that data set, the closest appropriate frame will be choosen.

Gate Selector

This button pops up a dialog for picking which gates of data to show from a gated data set. A gate to display can be selected by clicking on a list element. Multiple gates can be selected by holding down the shift key and selecting additional frames. Note that by using the entries, a span of gates can be choosen that loops around (e.g. gates 8, 0, and 1).

Target Selector

The target cross hairs are generally only displayed when one of the mouse buttons is depressed. With this toggle button, you can tell the program that you want the target cross hairs left on the views.

Interpolation

Interpolation refers to the method whereby AMIDE extracts data from the original medical imaging data set in order for it to be viewed on the screen. The interpolation selection button lets the user specify what type of interpolation to use when generating slices from the active data set. Nearest neighbor is faster, while tri-linear interpolation produces better looking (smoother) images with the penalty of being ~8x slower.

Rendering

Three rendering methods are available, MPR (multiplanar reformation), MIP (maximum intensity projection), and MINIP (minimum intensity projection). These rendering algorithms are utilized to combine data in the depth direction of the slice and/or over multiple frames of data. As such, the effects are most noticeable when the view thickness of the slices is increased and/or several frames of data are being combined. For MPR, each displayed pixel corresponds to the weighted average of the underlying data. For MIP and MINIP, each displayed pixel corresponds to the maximum or minimum value of the underlying data, respectively.

Fusion/Overlay Selector

By default, AMIDE displays multiple data sets as fused images. With the fused/overlay selector, you can tell AMIDE that you want the active data set to simply be overlayed on the other data sets, rather than fused.

Preferences Dialog Box

Underneath the edit menu is the preferences menu item. This will pop-up a dialog box that allows you to change preferences as to how things in AMIDE are displayed. The preferences will be saved in a configuration file for use by future AMIDE sessions (note: saved preferences are not currently supported on MS Windows).

ROI/View Preferences

Here are several preferences for changing how ROI's are the view canvas are drawn, more thoroughly described in the section called “Study Modification Dialog”. Note that these preferences are only used when a new study is created. To change these preferences for an existing study, you need to use the study modification

Threshold Windows

The window preferences are more throughly described in the section called “Data Set Modification Dialog”. Note that these preferences are only used for new data sets. To change the window levels for an existing data set, use the data set modification dialog.

Default Colortable Preferences

The program uses the specified color tables by default on a newly imported data set.

Misc. Preferences

The "Send Warning Messages to Console" option does exactly that. This is useful if enough warning messages are popping up that they're becoming annoying.

With the "Don't Prompt for 'Save Changes' on Exit" option, you can tell the program to not prompt you to save changes done on the study when exiting an AMIDE session.

The "Which Default Directory" controls which directory the file chooser dialog (used for save/import/open operations) will use as it's default location. "None" will cause the file chooser to show a list of recent locations as default. "Specified Directory" will cause the file chooser to utilize the directory specified as the default directory. "Working Directory" will utilize the directory from which the AMIDE program was executed as the default directory - this is most useful if you're often envoking AMIDE from the command line.