Search This Blog

Wednesday, May 14, 2014

FireVoxel Build 140B is released.
Layer control dialog:  layout is modified to accommodate
up to 20 layers.
Layer Control Dialog:  added Layer Name editing functionality.  If user doubleclicks on the Layer Name, the dialog box pops up that allows to specify the name of the layer.

Monday, May 12, 2014

Added the "Detect Bright Ridges" function to the User Interface.

Operating volume - user specified increase in the resolution of the resulting "Ridges".  It is practical experience that skeletons might benefit from the increase in resolution since their width of 1 voxels is used to simulate the objects of 0-thickness.  "Increase resolution coefficient" in practice range from 1 to 3.
Interpolation - specifies the algorithm used in image upscaling.

Background detection is a part of the algorithm.  Background is detected by overall smoothing of the volume.  User has to specify  "Radius (vox)" and the type of the smoothing Kernel.

Output parameter - specifies the result of the processing.
Elevation Map - Signal intensity volume specifying the likelihood that corresponding voxel is a ridge.
Ridge Mask:  Binary ROI representing wide ridges.
Skeleton Mask:  Centerlines of the Ridges represented as binary volumes.
Volume Constrained Smoothing function:  updated and corrected defects to allow a Single Slice volume processing.
Liver DCDI: case DA: whole liver calculation

Saturday, May 10, 2014

PET ridges, Test-2.  b) is the Automatically processed, with the blue centerlines that were provided to FireVoxel.




Initial test with the "Ridge detection function".  Dark and Bright ridges are detected separately. In this example, only initial pre-processing for Dark ridges is shown.



"Invert Volume function" - extended function from ROI only, to include SI-volumes and Real volumes.  Moved the corresponding User Interface item to "Main Menu>Volume".
Corrected an "initialized memory" error in all Liver DCDI model variants.  It was leading to "Unsupported color mapping" error message.

Friday, May 9, 2014

For all models, when only some (N starting) timepoints of TAC are fitted, do not display unfitted part of the "Fit" curve as "ALL zeroes".

Also the RMSE calculation is corrected to exclude the "unfitted" timepoints.


Liver DCDI.  Parameter {Flow,Fa,EMTT,Ki} comparison for patients AR and DB.







Parameters (F,fa,EMTT,Ki)















Updated and re-engineered the Layer Operations dialog to include 14 layers and corrected crash defect present in Build 139.

Thursday, May 8, 2014

Liver DCDI, case DB, slice #38


Liver DCDI, patient DB,  whole-liver - single slice,  "ROI as a single TAC" processing:


GRASP-DCE, patient MH,  comparison of K-trans for various ROIs created by Anne

K-trans (1/min)

Using Anne's hand-drawn Using FVX IDF of carotid
ROI (carotid)

1.19 0.84       tu-right
0.97 0.67      co-whitematter-left
0.165                                                 0.11       posttreatment-right                    
1.163 0.80       co-whitematter left
0.463 0.31       tu-brainstem-center
2.62 1.82       co-brainstem
1.62 1.13       suspectmass - left temporal lobe
>4 3.86       co-greymatter-right




GRASP  MR-DCE exam.  There are 9 ROIs here.
The tallest curve corresponds to the artery, with max (linear) concentration 0.4.
Next highest curve is the "grey matter", with the max concentration of 0.13.
White matter curves have max concentration of 0.04.
Liver DCDI:  cases processed with  "ROI as a single TAC"










<AR>











<LI>





Liver DCDI: fa (Arterial fraction) parameter comparison:















<AR>















<LI>
Liver DCDI: Ki parameter comparison:














<AR>















<LI>





Liver DCDI: Total Flow parameter comparison:















<AR>
















<LI>
Liver DCDI:  EMTT parameter comparison:

                                                                   











<LI>
"HOT"-color scheme.  EMTT parameter.
"Blue-Yellow" scheme GRASP Liver DCDI exam, parameter EMTT (sec), sample visualization in recommended by IBM.

GRASP Liver DCDI exam, parameter EMTT (sec), sample visualization in "Rainbow" scheme.

FireVoxel Build 139 is released.
Added the progress messages during the "Smart Downscale" operation.
In parametric map calculation, the parallelism is now limited to the number of logical threads of the processor.

Wednesday, May 7, 2014

Parametric Model calculation:  implementing the "Time remaining" message during the calculation. This should be very helpful for the length calculations.
Incorporating the SmartDownscale technology into the regular "Rotate Volume"  UI function.  This function is also used for scaling but only employed standard interpolation so far.
Immediate need in this is to generate low resolution volumes suitable to produce parametric maps in DCDI (Hersh).
Processing parametric map on 2 patients, liver DCDI model, for Hersh's presentation and paper.
FireVoxel Build 138B is released.
PET workflow:  combined PET-MR AIF "adjustment" function,  corrected the timings assigned to the resulting curve as they were made relative to the initial T0.

Tuesday, May 6, 2014

Fixed an interesting long term defect in displaying the values of parametric maps, reported by Riccardo Lattanzi.
Expanded layer control dialog to have upto 14 layers (from 10)

Monday, May 5, 2014

FireVoxel Build 138 is released.
Sokoloff parametric models {long, short formula}:  added an Automatic Build Subtest.
Sokoloff models {Short formula, Long formula}:  added user control parameter  "K1 min".  This is designed so user can set a fixed value for fK1, so that K1min = K1max = fK1
This way the design to calculate the Ktrans from the DCE MRI and then transfer it to the Sokoloff model can be realized.

Sunday, May 4, 2014

Open DICOM dialog File Preview:  In Build 137, a defect became apparent when the preview of the DICOM file was all "white".  This is an "uninitialized memory type of error" and might have been presented differently on different systems.
Fixed the problem loading with the DICOM single file provided by Riccardo Lattanzi.
This is unconventional DICOM obtained as a result of image processing
Save RAW dialog box:  added a "state variable" so the last used extension is remembered and offered as a default choice next time when the dialog is opened.
Open RAW dialog box:  added a "state variable" so the last used extension is remembered and offered as a default choice next time when the dialog is opened.

Saturday, May 3, 2014

Fixed the ANALYZE file loading problem:  old legacy datatype=132 was present in the header. This is not a part of ANALYZE 7.5 implementation.  So it was added as legacy type and the file is loading now.

Thursday, May 1, 2014

Completely Re-engineering K-trans model with 3 parameters {K-trans,Ve,Va}...
Completely re-engineering the 2-parameter K-trans model  {K-trans,Ve}.  Will verify on the MR4D from the PET-MR exam...

Wednesday, April 30, 2014

Major work finished, re-enabling and verifying the Automatic Build Test after partial phaseout of 24-bit processing.

Tuesday, April 29, 2014

Zoom-to-Display functionality:  converting internal processing from 24-bit  to 32-bit for simplicity and speed.

Monday, April 28, 2014

MR4D (from combined PET-MR exam):
Verifying the "K-trans model" = {K-trans, Ve}.  Adding a corresponding subtest to ABT....
Registration defect  fixed:  while registering two longitudal MPRAGE images, the registration crashes if one of 3 measures is used:  {SignalDiff, CrossCorrelation, RatioUniformity}


Added the ABT subtest for  sag1.im<->sag4.im registration for 5 additional measures:
  {SignalDiff, CrossCorrelation, RatioUniformity,MI,MI-norm}

Fixed the volume overlay problem, when 2 brain volumes with the resolution difference around
1e-4 were not able to overlay.
PET-MR  registration:  Removing optional  "PET resolution\Best resolution" option as it always to the best resolution now due to the new codec.

Thursday, April 24, 2014

Verifying the ABT (automatic build test) due to the changes related to the NN-codec.
Providing the code to maintain the backward compatibility with the older FVX format, which has been updated with the new Codec.

Wednesday, April 23, 2014

Optimizing memory bandwidth around the single slice voxel CoDec.  Converting 24-bit based voxel  representation to 32-bits.

Tuesday, April 22, 2014

Fully coded,  Presently debugging the "NN-loseless codec"....  required for Hi-res  PET->MR registration.

Sunday, April 20, 2014

Implementing highly efficient internal volume codec that is targeting the volumes upsampled using the NN-interpolation.  This is a critical function during the PET-4D to MR registration.
User optimally desires best available resolution for both registered volume, which is typically a MR resolution.  However, for high timepoint # the resulting volumes might reach upto 7 GB  (compressed with the regular FireVoxel compression).
This new codec will allow much higher compression of such registered PET volumes.

It is lossless.
High-accuracy PET-to-MR registration using an approximate BrainMask with 4X speed gain.

Presently, it is very hard to achieve PET-to-MR registration without additional guidance.
From previous registration experience, a quick  Brain ROI was obtained using the BrainMask\EdgeWave tool.

This ROI is just an approximation of an anatomically precise mask of the brain. FireVoxel can obtained a much more precise BrainMask by adding the non-uniformity correction to that workflow.



After obtaining BrainMask ROI, the regular  PET-to-MR registration runs that uses ROI as a guidance.  Resulting registration has a very high accuracy.
The whole processing is less than 4 minutes on the reference ($1K) PC.










Single volume Edge-constrained smoothing:  partially combined the code with the similar logic of "Inter-volume constrained smoothing".  Reused the dialog common for both functions.

Corrected the logic for the Registration3D: TargetROI.  Included a new  dialog item that explicitly displays the name of the layer to be used as a Target ROI.
Implemented an initial variant of the "Inter-volume Edge Constrained Smoothing".  In this  test:
a) MR and PET4D were registered with very high accuracy.
b) MR-edges (as 3D surfaces) were detected using the texture-edge detector (URAL)
c) PET-volume was smoothed, with smoothing apperture that was constrained by the presence
of edges within vicinity of every voxel.

This just a prototype as many options are available.
Specialized dialog box was developed.

Implemented the two-compartment Sokoloff'77 model (long formula) also used in Reivich'85. Results are identical (to 0.01% precision) with the Sokoloff'79 interpretation (short formula)
in the initial tests.

Sunday, April 13, 2014

PET:  Latest version of the IDIF.  User does NOT have to specify the dominant direction anymore.  Also the meaning of the seed is changed - User just have to place the center of the seed on the vessel.  Other parameters, such as max vessel length, are enabled.





Added L1/L2 optional residual metric to  Sokoloff'79 (short) model.
Completely re-enginered the Sokoloff-79 model (as in Wai's implementation = short formula).

a) Enabling the analytic integration, instead of PWL-functions.  This also eliminates the need for the 1-sec upsampling of the TAC data used in the old version.

b) More streamlined and corrected implementation of the Ta-arterial delay.



Re-enabled ABT subtest for the "Liver DCDI-standard model"

Saturday, April 12, 2014

Dynamic Experiment module (Parametric maps) flow:  correcting a significant inefficiency of dealing with the Void voxels (as in  "Process ROI only"  mode).  Entirely reengineered a parallel processing structure for the Voxelwise parametric map, especially for "ROI only" mode.

Friday, April 11, 2014

Liver DCDI model defect:  when voxelwise map (over the ROI) is requested calculation "hangs" and performance monitor shows only a single core loaded.


Thursday, April 10, 2014

ABT: added an automatic subtest for PET4D to MR4D registration, with several layers each, to Best Resolution option.
ABT:   adding automatic subtest for   PET4D<->MR4D multilayer registration.

Wednesday, April 9, 2014

ABT:  adding the "WM lesions \FLAIR"  segmentation to the automatic build test.
Also the corresponding dialog for "WM lesions \FLAIR"  parameters is automatically tested by Open\Close.
IDIF function:  "Keep high filter" is an effective way to reduce partial volume voxel effect and deviation outside the vessel.  This is an example on Aorta (Liver DCDI dataset)


Red ROI:  All the preliminary voxels were kept  (Keep high signal=1)
Blue ROI:  Only highest half of the voxels was kept.
Automatic Build Test:  adding the IDIF (vessel segmentation) subtest.
Also the corresponding dialog for IDIF parameters is automatically tested by Open\Close.
Automatic IDIF (input function):  added an option to restrict the length of the vessel from the start point. This is requested by all the users of this functionality.



Unconstrained-length segmentation    vs.    15mm-constrained segmentation.

Sunday, April 6, 2014

Updated the IDIF user interface and algorithm:
a) Adding a drop down combo box where user can select the direction {X,Y,Z} of the Vessel.
b) Adding an experimental option {Auto} for the direction of the vessel.  In this mode, all 3 directions will be checked and the largest (by voxel count) resulting vessel would be selected.

New features seem to provide a substantial improvement in usability and quality of the result. F.e. in liver, we would like to always work in Axial projection where the Portal Vein direction is often along {X,Y} axis.














So in new version, user does not have to choose the direction of the vessel.  So for portal vein the "Auto" direction is set by default.

Another change is that the seed does not have to cover the vessel.  Instead, it is only assumed that the center of the seed should be very close to the vessel in question.

Provided a basic documentation for Liver DCDI registration workflow.

Saturday, April 5, 2014

Corrected defect:  In all 3D registrations 2 documents should be present.  The selected document is used as a Target of the registration.  However, if more than 2 document are present, the selection of Source document is sometimes incorrect.  Now the warning would be issued when more than one possible Source document is present.
Added new UI function:   "MainMenu>Volume>Crop4D - Current dynamic point only"
Fixed the defect of gross misregistration in liver DCDI exam.  New default setting for all parameters were explored and set.  All the gross misregistration cases are fixed. Results are not stellar, but for large proportion of timepoint the movement across the axial plane is greatly reduce.
Further work will be done as needed but result is good enough for now.

Friday, April 4, 2014

Defect corrected: when 3D volume is converted to 4D using the "MainMenu>Volume>Convert 3D to 4D" function, dynamic information (such a timepoints) is not set properly in the new volume.
Developing UI function:   " MainMenu>Volume>Crop timepoints".  This function takes 4D volume.
User specify comma-deliniated set of timepoints such as "1,3,5,7".  Function outputs another 4D volume containing only the specified timepoints. This is a very important function for troubleshooting the 4D registration.

Thursday, April 3, 2014

FireVoxel Build 135B is released.
Real Valued volumes (such as PET and parametric maps):  fixed defect when after the cropping such volumes where transformed into the Integer Volume class.
Dialog  Registration 3D\4D:
Further simplified and compacted by conveniently grouping the translation fields in the AutoFocus panel.

PET-to-MR registration:  Achieved a very good registration result on the difficult case "MG".  Problem was that PET image was rotated by 12 degrees with the respect to MR just in one axis Z.
Default registration parameters were "widened" to accommodate such enormous displacements. Also switch default registration measure from MI (mutual info) to URAL (gradients).


Wednesday, April 2, 2014

Enabled the following User Interface-level functions for PET volumes:
a) Advance to the timepoint of Max Info
b) Optimize ViewFilter setting for the current timepoint
Continue to simplify code in numerous locations due to inclusion of the DIM3D field into the FRAME structure.
Small fixes related to the PET4D<->MR4D registration.  Build 135A is released.
FireVoxel Build 135 is released.
Finalized the algorithm and User interface for the 2 way "PET register to Anatomy" function.
Presently, {PET3D,PET4D}<->{MR3D,MR4D} can be registered. If both source and target are 4D user is given a choice for which one to keep in 4D.

All the additional layers (such as ROIs) are transformed properly.

Tuesday, April 1, 2014

Restoring the Automatic Build Test as it presently crashes. This is routine after substantial code changes.
Optimized API calls (remover the AddLayerByCrop\LoadDocumentByCrop) for document\layer loading.
Parallelized the internal DICOM header creation.

Monday, March 31, 2014

PET4D+ROIs  registration to MRI4D+ROIs is finished.  When timelines are merged, new 4D volumes created for the merged timeline.  This results in substantial memory overhead at the moment. Implementing the design for efficient memory handling when the redundant timepoints are present.

Sunday, March 30, 2014

Paralellized the  "Crop Out void voxels from Volume" function (part of the registration).

Friday, March 28, 2014

Sokoloff model, as in Sokoloff-Phelps paper (Annals of Neurology 1979, vol.6 No. 5) is

This  is the formula that was used by Dr. Wai Tsui (Mony's team). He sets k4=0.   So after that the expression could be rewritten:  alpha1 = 0,  alpha2 = k2+k3

This is exactly the formula used by Wai and is presently in FireVoxel Build 134 (the Anne was using for the abstract).

Now there is a second paper by Reivich (Journal of Cerebral Blood flow and Metabolism 5:179-192 1985), brought up by Fernando.  This paper references an earlier (Sokoloff 1977) paper: with


However, those 2 formulas are substantially different, which can be the easiest observe if we substitute k2=0 to both.  So which one should I use?





Fixing defect, when the 4D volume crop, the absolute values of times are lost and relative times are preserved.  This causes the problem for some registration functions.

Thursday, March 27, 2014

Implemented functionality in "PET to Anatomy registration" when all of the MR entity layer (incl. ROIs) are transformed appropriately.  This realizes the "ROI Transfer" feature.  PET entity layers, if present,  are transformed appropriately too.

Wednesday, March 26, 2014

Impementing 4D to 4D registration in the context of the PET to Anatomy registration. The challenge here is to properly merge the different timings of PET and MR.