.. _idif_top: Image-Derived Input Function ============================ .. only:: html .. sidebar:: Tutorials & Sample Data Watch on YouTube: |br| `Tutorial 10: Image-Derived Input Function `_ |br| :download:`Tut10data.zip (84.9MB) ` .. contents:: :depth: 2 :local: :backlinks: top .. _idif_rationale: Vascular Input Function ----------------------- In dynamic imaging that involves administration of tracers or contrast agents, such as dynamic PET, dynamic contrast-enhanced (DCE) MRI and DCE CT, serial images are acquired and analyzed to derive functional information about organs and tissues. The analysis is often performed using compartmental models, which require knowledge of the input functions driving the system. The input function (IF) is usually determined as the time-activity curve (TAC), or contrast concentration curve, in a blood vessel feeding the organ or tissue. The input function can be measured in a manually-drawn ROI or derived analytically by selecting voxels based on the characteristics of their time-activity curves. .. _idif_tool: FireVoxel’s IDIF Tool --------------------- FireVoxel offers a semi-automatic tool to determine the IDIF with minimal user interaction. The user must first draw a vector ROI (seed) to initialize the process and then use **Dynamic Analysis** > **Image Derived Input Function** to customize and run the IDIF tool. The resulting IDIF (signal versus time data) can be saved as a text file or pasted into other applications. The IDIF algorithm has two stages: 1) seeding and 2) vessel tracking (:numref:`fig_idif_diagram_brief`). .. _fig_idif_diagram_brief: .. figure:: ../images/idif_diagram_brief.png :alt: Two stages of the IDIF algorithm :scale: 50 % :align: center :figclass: align-center Two stages of the IDIF algorithm. In the **seeding stage**, the algorithm finds a location where the time-activity curve (signal versus time curve) has the tallest peak within the user-defined seed region. In the **vessel tracking stage**, this starting location and its reference curve are used to initialize the search for nearby voxels with similar time-activity curves. The candidate curves are compared with the reference curve. The locations where candidate curves are similar to the reference curve are added to the vessel tracking region. The average time-activity curve of the tracking region serves as the IDIF. For more detailed description, see :ref:`IDIF Algorithm `. .. _idif_derive: Derive IDIF ----------- This section describes the steps required to derive the IDIF. .. _idif_vroi: Define Seed Vector ROI ~~~~~~~~~~~~~~~~~~~~~~ The user first loads the dynamic images into FireVoxel using, for example, **File** > :ref:`Open DICOM `. In most cases, FireVoxel will read the time points automatically from the DICOM image header. The user then defines a vector ROI enclosing the blood vessel using **Vector** > :ref:`Construct Vector ROI ` or the |vroi_icon| :ref:`toolbar ` icon. The position of the VROI can be adjusted in three dimensions using :ref:`Display orthogonal projections `. The ROI does not need to conform to the vessel, but only delineate the area in which the vessel is located (:numref:`fig_idif_pet_vroi`). .. _fig_idif_pet_vroi: .. figure:: ../images/idif_pet_vroi_800px.png :alt: Vector ROI on PET image to initialize IDIF tool :scale: 70 % :align: center :figclass: align-center Vector ROI (green square) on PET image (in 3 projections) to initialize the IDIF tool. The user must keep in mind various confounding factors that may complicate the identification of the IDIF voxels. For example, the presence of the veins within the seed ROI may distort the resulting *arterial* input function. .. _idif_dialog_section: IDIF Dialog ~~~~~~~~~~~ Use **Dynamic Analysis** > **Image Derived Input Function** to open the IDIF dialog (:numref:`fig_idif_dialog`). .. _fig_idif_dialog: .. figure:: ../images/idif_panel.png :alt: IDIF dialog :align: center :figclass: align-center IDIF dialog in its default state. The panel consists of three parts. The top part, labeled **Curve similarity**, contains parameters that control the comparison between the candidate curves with the reference curve: **Peak time tolerance** -- Maximum time difference between the peaks of the candidate curve and the reference curve. A candidate curve with a peak within this interval is considered further. **Peak signal low threshold** -- Minimum peak height (as percent of the reference curve peak height) that the candidate curve must have to be considered further. If the threshold is 80%, then candidate curves must have peaks of at least 80% of the reference curve peak height. **Norm (L1=1, L2=2)** -- The user can select L1 or L2 norm to evaluate the difference between the candidate curve and the reference curve. The middle part, **Vessel tracking**, sets the parameters of the vessel tracking process (:numref:`fig_idif_vessel`). .. _fig_idif_vessel: .. figure:: ../images/idif_vessel_cartoon.png :alt: Vessel tracking schematic :scale: 60 % :align: right :figclass: align-right Vessel tracking parameters. **Bi-directional** [tracking] -- Checkbox that toggles between the entire tracking region or only its part being used to derive the input function. The algorithm always tracks the vessel in both directions away from the seed location. If Bi-directional option is checked, both arms of the tracking region are included. If Bi-directional option is unchecked, only the longer arm of the tracking region is retained. **Adaptive** -- Checkbox that toggles between adaptive and regular modes. In Adaptive, the reference curve is equal to the average curve over the tracking region and is updated on every tracking step. In Regular mode, the reference curve is equal to the seed curve and is constant throughout the tracking process. **Minimum and Maximum diameters (mm)** -- Set the limits for the diameters (D\ :sub:`min`, D\ :sub:`max`) of the candidate spheres at every tracking step to account for possible variation of the vessel width over the tracking region. **Maximum length (mm)** -- Sets the maximum length L\ :sub:`max` of **each arm** of the tracking region. **Maximum turn (deg)** -- Angle (in degrees) that limits the angle by which the direction of the tracking region can change from one tracking step to the next. This ensures that the tracking region follows a smooth course along the vessel. The lower part of the panel, labeled **Output**, contains the parameters controlling the results. **Higher signal voxels** -- Dropdown menu to select a percentage of voxels, or a volume in cubic millimeters, that will be used to derive the input function. **Tracking map** -- Checkbox to create a new layer with an integer-valued color map of the tracking region showing its growth at each step. This map will be created in addition to the tracking region mask and may be helpful in understanding the tracking process and adjusting its parameters. .. _idif_outputs: IDIF Tool Outputs ~~~~~~~~~~~~~~~~~ The IDIF tool outputs include 1) IDIF ROI and 2) tracking map (if **Tracking map** box was checked in :ref:`IDIF dialog`). The IDIF ROI and tracking map cover the same voxel locations, but the ROI is a binary mask and the tracking map is an integer-valued image shown as colormap. The IDIF ROI is returned in an automatically created layer labeled **IDIF**. The average signal over the IDIF ROI will be displayed in the :ref:`ROI Stats 4D ` panel opened automatically (:numref:`fig_idif_result_plot`). This curve can be saved as a text file or copied to clipboard using **Save** and **Copy to clipboard** commands, respectively, in the lower right corner of the panel. .. _fig_idif_result_plot: .. figure:: ../images/idif_result_plot.png :alt: IDIF signal plot :scale: 60 % :align: center :figclass: align-center IDIF is automatically displayed in ROI Stats 4D panel. The tracking map is placed in a layer labeled **tracking info**. By default, the tracking map is displayed in the **Rainbow** color map, with the seed sphere shown in black and other colors indicating areas added at each tracking step (:numref:`fig_idif_result_map`). The IDIF ROI and tracking map layers are best saved within the FireVoxel document, but can also be saved separately (see **File** > :ref:`Save Active Layer as Image ` or **Layer Control** > :ref:`Save Image `). .. _fig_idif_result_map: .. figure:: ../images/idif_result_map.png :alt: IDIF tracking map :scale: 50 % :align: center :figclass: align-center IDIF tracking map in abdominal aorta shows 7 tracking steps. .. _idif_algorithm: IDIF Algorithm -------------- Prior to using the IDIF tool, the user defines a rectangular **seed** (vector ROI) enclosing the vessel. The user then selects **Dynamic Analysis** > **Image Derived Input Function** to launch the IDIF tool. The IDIF algorithm works in two stages: 1) seeding and 2) vessel tracking. **1. Seeding** (:numref:`fig_idif_diagram_seeding`). The algorithm considers all 3D spheres with centers inside the seed region and with diameters within a user-specified interval. For each sphere, the average time-activity curve is constructed by averaging all voxel curves within the sphere. The sphere with the tallest peak is selected, and its location and time-activity curve are used as the seed to initialize the next step. .. _fig_idif_diagram_seeding: .. figure:: ../images/idif_diagram_stage1.png :alt: Stage 1 of the IDIF algorithm :scale: 50 % :align: center :figclass: align-center IDIF algorithm stage 1: Seeding. **2. Vessel tracking** (:numref:`fig_idif_diagram_tracking`). First, a three-dimensional tracking region is initialized with the seed sphere as the starting location. The reference time-activity curve is set equal to the seed curve. .. _fig_idif_diagram_tracking: .. figure:: ../images/idif_diagram_stage2.png :alt: Stage 2 of the IDIF algorithm :scale: 50 % :align: center :figclass: align-center IDIF algorithm stage 2: Vessel tracking. The algorithm has two modes, **regular** and **adaptive**. In **regular mode**, the reference curve remains equal to the seed curve throughout vessel tracking. In **adaptive mode**, the reference curve is set equal to the average curve over the tracking region and is updated on every iteration. Next, vessel tracking begins iterations. At each step, the algorithm considers all spheres adjacent to the current tracking region and selects the sphere with the time-activity curve most similar to the reference curve based on the following three criteria: 1) The peak height of the candidate curve must exceed the user-specified **threshold percentage** of the reference curve peak. 2) The peak time of the candidate curve must be within the **time tolerance interval** of the reference curve peak time. 3) If the first two conditions are met, the candidate curve must yield the smallest difference between itself and the reference curve (expressed as the L-norm). The sphere that satisfies these three conditions is then added to the tracking region. In adaptive mode, the reference curve is updated to the average curve of the newly expanded tracking region. This sequence is repeated until the user-defined vessel length is reached or tracking fails. After vessel tracking is finished, the image-derived input function is determined as the average time-activity curve over the filled voxels in the tracking region. |top| .. |vroi_icon| image:: ../images/toolbar_vroi_icon.png