Search This Blog

Friday, January 31, 2014

In preparation to release Build 130:  Restoring several parts of the Automatic Build Test that use the .FVX file format. Format was changed recently due to the use of the new 3D Volumentric primitives.
Dialog "Split ROI by Threshold":
Implemented a feature, so user is able to enter the desired threshold manually.


Portal Vein Input function (obtained automatically) was compared between:
a)  Unregistered DCDI dataset
b) DCDI dataset registered for the whole liver (URAL-measure\Affine Transform)

difference is substantial, in line with the substantial motion across the axial plain which is eliminated as the result of the registration.

Compared the Portal Vein Input Function  derived from
a) Whole registered liver     VS.
b)  (starting from wholly registered liver) Local registration with the small ROI enveloping the Portal Vein.

There is small gross misregistration (during b.) on the initial timepoints due to the absence of features (contrast edges on early timepoint).  But besides that there seems to be little difference between a) and b).

So in the initial DCDI modelling we will restrict to the Whole liver registration only.



Thursday, January 30, 2014

Developed a function, when given a 4D volume and an ROI (3D or 4D),   FVX advances to timepoint where amount of information (or entropy) over the given ROI is maximum. 

This is an extremely valuable function for all 4D registrations.  It allows user to automatically select an "Anchor" point for 4D registration.

Prior to this development, every individual workflow required an individually crafted recommendation which timepoint to use as an "anchor" for the registration.

Re-implementing the frequent {VolumeCropSlice, VolumeCropTimepoint} operations which are frequently used in processing.  Idea is to perform it through copying compressed blocks, instead of VolumeGetBox-VolumeSetBox sequence that require   Decompress\Compress.

Pair of this function is used extensively in Registrations and in over 70 locations inside the FireVoxel.

Wednesday, January 29, 2014

Attempting to correct Elastic (quadratic) transform on the 3D->3D liver registration. For some reason function is not performing as in the past.
After registering the Liver in 4D,  returned back to Axial projection.  Specified the Macroseed (green box on the right) over the portal vein.  Then ran fully automatic vessel (IDIF) segmenter.  (Peak time eps=30 sec, Vessel diam=10mm).  Resulting ROI is shown on Axial and Sagittal projections in Blue.
Corresponding Input function is displayed in concentration units as in the Sourbron's paper.



Registration:
Converted DCDI-(Dual Compartment Dual Input) Eovist Liver dataset to the isotropic sagittal.  For Registration purposes sagittal projection seems to be more suitable due to the liver motion mostly perpendicularly to the axial plain (is this true?). So it is easier to evaluate registration  quality.  Additionally, it is easier (at least for unexperienced in-anatomy users) to outline liver ROI in sagittal view (is this true?)

Question: after registration, for the remainder of the workflow, should we return to the axial projection? I assume yes, due to the higher resolution in the axial plain and further presentation of the results.


Tuesday, January 28, 2014

Applied automatic Image Derived Input Function segmenter to the Liver Eovist dataset.
Here is example for the aorta. As usual user just have to put the Macroseed around the artery.
The rest is automatic.  Default parameters from PET function worked, just vessel diameter was set for 10 mm.
Size of resulting ROI is 2500 voxel,  17.5 cm3.  ROI is guaranteed to be a tube in the prevalent Z direction.  Tube is continuous - an Interruption on the sagittal view is just due to the tube being curved.


Monday, January 27, 2014

Finalized the Gamma Variate fit of the arbitrary function.  Introduced the "Fit" operation of the TAC inside the RoiStats4D dialog.  Other fitting models will be gradually added.

Above example is done with the Integral L2 measure (so would work fine with uneven sampling).  Global Optimization was used (A,alpha,beta).

Clearly Gamma Variate does not have enough expressive power due to the 2 factors
  • Recirculation peak
  • Tail asymptomatic value is non-zero
Recently (ISMRM 2011)  AIF fitting with two Gamma Variate functions was introduced (once of the authors is Niels Osiegmann).

http://cds.ismrm.org/protected/11MProceedings/files/816.pdf



Implemented a function for Gamma-variate fit of the arbitrary function.
Global Optimization with 3-parameter fit is used.


Some applications include:

  • Modelling of the Input function
  • Segmentation of the 4D volume
  • Automatic IDIF finder.


Implementing a simple dialog and debugging...
Restoring the complete Automatic Build Test to reflect changes in .FVX format due to a recent change in the format.
Updated and restored .FVX format Load\Save due to a change in the basic volumetric entity data structure.
Defect corrected: when drawing with the paintbrush  on ROIs, when paintbrush crosses the right border of the image the drawn voxels would appear sometimes at the top border.

Sunday, January 26, 2014

Integrated  DCMTK-based DICOM header as a parallel structure to the existing TREE header design.  This will allow completely accurate DICOM file save and phasing out of the legacy DICOM library.  Remaining work contains several items with transferring functionality to the DCMTK-header based.
  • Display of the DICOM tree in the OpenDicom dialog and DicomInfo dialog.  Need a function to list all the present DICOM tags in the header.
  • Saving DICOM using the DCMTK-header 
  • Numerous access functions for the various DICOM tags.
  • Create a DCMTK -based "Basic DICOM header" when the volume is loaded from the RAW (non-DICOM) file format.
  • Incorporation of DCMTK-header Load\Save into the native FVX file format.

Saturday, January 25, 2014

Investigating a design to incorporate a pure DCMTK header into the Volume.  This will allow to most complete DICOM save.  This is the final step in the phase-out of the legacy DICOM library.

Friday, January 24, 2014

Modifying User Interface objects due to a change of volume data primitives from 2D to 3D.
Updating the FVX file format.

Thursday, January 23, 2014

Obtained 2 liver Eovist datasets reconstructed at 21 spokes (from Hersh and Justin Ream). Ensured correct loading of DICOMs and the initial display.

Wednesday, January 22, 2014

Continue work on internal representation of volumes:  moving from legacy 2D-based representation to pure 3D primitives.  Goal is the simplicity of API for all current and future uses.