Search This Blog

Tuesday, December 31, 2013

Correct  "Edge Constrained Smoothing" function so the "Fill Void Voxels"  option works correctly. Removed redundant code.

Thursday, December 26, 2013

Prototyping a new IDIF function variant, that would explicitly incorporate an explicit anatomy constrained:  namely a tube with the width of the vessel.  User specifies one of the {X,Y,Z} prevalent
directions.

Sunday, December 22, 2013

In ViewTAC, and RoiStat4D dialog, when the curve is drawn the current Dynamic Index node is marked with the alternative color.

Implementing and initial variant for PET  4D motion compensation.  This is based on Dr. DeLeon comment during IDIF meeting.  Additionally a substantial rotation is observed (~2 degrees) betweeen MRI and some of the PET timepoints.
Standard 4D registration is used with some improvements to determine PET forground mask. Main challenge here is the speed of the registration due to the high PET timepoint count.

Saturday, December 21, 2013

Investigating the reslicing problem after the registration.
Correcting the IDIF function,  for Axial-SingleSlice variant.  It should behave correctly in {NoSeed,SingleSeed,MultiSeed} modes.

Friday, December 20, 2013

FireVoxel 128D is released with the   4DPET-MRI scenario fixes.
4DPET-MRI registration:   Corrected the workflow so user could choose the "Best" or maximum resolution evaluated individually at each axis.  Registration result is good.  Importantly, notice a non-trivial rotation angle between MRI and PET.  On this screenshot they are registered, but observe the MRI slanted margins, indicating ~2 degrees relative rotation as determined by the registration.


Helping to process the MRI+PET case obtained from Dr. Wahle.   MRI is in Axial, which is different  from the documentation.
Updating the IDIF function for a case when no MACRO-seed is present at all and instead user chooses simply the slice on the Axial projection.
Play 4D function:

  • Rewind if we are on the last frame
  • Use the default the interval to the last one used
  • Indicate the use of real intervals

Thursday, December 19, 2013

Investigating a substantial memory residual remaining after the PET-to-MRI registration  ABT subtest.
Updating the Automatic Build Test   for 4D-PET and MRI co-registration.
Dialogs   {AutoFocus3D,AutoFocus4D} :  removed "URAL Interpolation" parameter with the purpose of simplifying registration User Interface.   URAL Interpolation = true, in all registrations.
Documenting the changes in the PET workflow after the change to the Axial projection.  Updating the manual.
Found solution for the registration of the Femur\bone ROIs. This is for the same patient, longitudal study.

Tuesday, December 17, 2013

Updating and restructuring the registration workflow to principal Axial-projection and accommodate new requirement to either reconstruct to Anatomy or PET resolution.

Sunday, December 15, 2013

FireVoxel Build 128B is released.
Made Parametric Calculation call smarter - in case there is a single 4D layer is present, it is selected automatically and User does not have to make it Active.
Major code refresh for:
Dynamic Processing dialog box
Dynamic parametric map calculation - UI Application level
All models in Dynamic Processing DLL are revisited for
parameter consistency.

Saturday, December 14, 2013

Parametric modelling dialog layout is rearranged to accommodate longer labels automatically generated for Input Functions.


RoiStats4D dialog:  when TAC for the ROI is obtained, its label is automatically formed consisting of the Roi Name + ROI size in mm3.  This allows user to avoid manual typing in when importing the Input Function inside the Parametric Modelling dialog.


Dialog Roi Stats4D:  Added the "Show Median"  checkbox (as apposed to "Show Average") .  Roi TAC is shown either in Median or Average mode. Same choice for Saving and copying it to the Clipboard.

Friday, December 13, 2013

FireVoxel Build 128A is released.
RoiStats4D dialog:  when "Show All" checkbox is ON,  only Enabled layers will display the TACs.
Improved behavior in RoiStats4D function.  When F4 button is pressed and there are both 3D and 4D layers are present, 4D layer will always be chosen, even if 3D is Active.  This eliminates annoying messages "4D layer is required".
UI change:
Function key F3 is reassigned to be   a "Roi Stats 3D" function
Function key F4 remains a "Roi Stats 4D" function = SHOW TAC
Former key F3 is now F2 for the "Copy ROI info to clipboard" function.

The reason for the change is that often a dynamic image is overlayed
on top of static 3D, so getting TACs often pops up the "4D layer required"
which requires user to bring up the Layer Control box, change active layer
and so on.

Thursday, December 12, 2013

Completely re-engineered the 1st Model parameters to make their meaning more clear.

Model Name   = "Signal measurements within time interval";
{ "Signal Spread","Mean Signal","Max signal","Signal StdDev","Sum of absolute signal changes",
"Turbulence","Max Turbulence","Turbulence Count" }

Integrated the "Process Interruption Feature" across FireVoxel.  For any process that displays the progress bar, if user press ESC button, function gracefully exits.  94 locations were modified, only few were tested but expected all to work correctly.
Substantial redesign of the Play4D function:  Movie plays in all available projections simultaneously,
dynamic coordinates, such as b-value, are displayed and movie sequence is in this active dynamic dimension order.
Additional feature,  movie is played in all available views of the selected document
(f.e. all orthogonal projections)
Integrating general UI functionality so that any process that outputs the progress bar may be interrupted by User pressing ESC button....
Fixing a problem with  DlgSpecifyDouble dialog box...

Wednesday, December 11, 2013

FireVoxel build 127B is released.
Play 4D movie function:  completely re-engineered, removed the defect.  Added a progress bar to the play function.  Additionally user can specify the interframe delay in seconds (real).
Get IDIF function User Interface:  provide a more intuitive user interface especially in the presence of multiple ROI layers, so that no "Ambiguous layer configuration..." message does not show up

Tuesday, December 10, 2013

After integrating time delay parameter, a new fitting result.


Sokoloff model:   Integrating the "Time Delay" fitting parameter. At the very least, this time delay parameter should be in [0,FrameTimeDelta] (=[0,15] sec) as this is the temporal resolution of TAC.
Updating the Sokoloff model.  During the demo to Fernando, observed that in "naive convolution" calculation upsampling time to 1 sec makes a big positive precision difference.  But this is computationally expensive and additional Upsampling Interval parameter will add to parameter list.
So instead attempting to upsample only the IRF ( Impulse Response Function) and integrate fast convolution technique from:



Fast and accurate voxel-by-voxel perfusion imaging using convolution models.  Artem Mikheev, Henry Rusinek.  Image Analysis - Parametric Mapping Session at the ISMRM 2008 Totonto, CANADA.

Sunday, December 8, 2013

Revisiting Volume Smoothing function and ensuring it works correctly on all of combinations of:
{Real,Integer}x{3D,4D}x{ROI,no ROI}...
Fixed the problem with MainMenu>ROI>Threshold To ROI function.  Corresponding Build 127A is released.

Thursday, December 5, 2013

Implementing the Sokoloff model with simple fitting by gridding+Amoeba....
FireVoxel Build 127 is released.
  • Developed  the PET Workflow Quick Start manual.
  • Produced the initial result for the Image Derived Input Function. 
  • Implemented Vt (Logan) plot parametric model based on the newly available technology for the Image Derived Input Function from Carotid Artery.
  • Corrected the defects that came up during the presentation to Fernando.  These two bugs are intermittent and are hard to reproduce.
  • Implementing a new version of the "Blood Vessel Finder" dialog based on the initial discussions.
  • Finalized 2nd generation of the IDIF (Image Derived Input Function) dialog. Principal addition is the introduction of L2-based measure for checking TAC similarity.  However, L2-smoothing was introduced in a way so blurring of the TAC is avoided.
  • Extending the IDIF functionality so several seeds can be specified covering branches of the Carotid Artery to create larger ROI and thus more reliable Input Function. Since the IDIF function is very fast this is done simply by calling procedure several time and OR-ing corresponding ROIs to create the final one.
  • Documented the latest version of the semi-automatic IDIF tool.
  • Fixed the "Missing time information in save .IM file"  reported by Dr. Rusinek.  This was due to the time written in "absolute value" and using the scientific notation some important lower digits were truncated.  Switched to the regular "double float" format by using %lf option in fprintf().
  • Fixed parametric map-related defect:  when  RoiStat3D  dialog display statistics, the VOID voxels are included into the calculation.  They should be excluded.
  • Simplified the "Real Volume to Integer conversion" menu item to perform conventional rounding with the truncation to the specified bit length.'

Wednesday, December 4, 2013

Simplified the "Real Volume to Integer conversion" menu item to perform conventional rounding with the truncation to the specified bit length.
Fixed parametric map-related defect:  when  RoiStat3D  dialog display statistics, the VOID voxels are included into the calculation.  They should be excluded.

Tuesday, December 3, 2013

Fixed the "Missing time information in save .IM file"  reported by Dr. Rusinek.  This was due to the time written in "absolute value" and using the scientific notation some important lower digits were truncated.  Switched to the regular "double float" format by using %lf option in fprintf().
Documented the latest version of the semi-automatic IDIF tool.
Extending the IDIF functionality so several seeds can be specified covering branches of the Carotid Artery to create larger ROI and thus more reliable Input Function. Since the IDIF function is very fast this is done simply by calling procedure several time and OR-ing corresponding ROIs to create the final one.
Verified that the Macro Seed for the IDIF may be specified on any of the orthogonal projections.`It makes it possible to specify the Macro Seed on the Axial projection where Carotid artery can be found easily.

Monday, December 2, 2013

Finalized 2nd generation of the IDIF (Image Derived Input Function) dialog. Principal addition is the introduction of L2-based measure for checking TAC similarity.  However, L2-smoothing was introduced in a way so blurring of the TAC is avoided.