Search This Blog

Monday, September 1, 2014

Liver DCDI blood vessel segmentation:  finalized the function.  User starts with no parameters, default 20% of the voxels are chosen as a blood vessel.  Then interactive dialog pops up when user can interactively adjust that threshold based on visual evaluation of "Time-to-Peak" parametric map.


Sunday, August 31, 2014

Dialog Split ROI by threshold:  added "%" information for 2 separated segments.

Saturday, August 30, 2014

Dialog "ROI split by threshold":  expanded to work with the Parametric maps.

Friday, August 29, 2014

AutoFocus4D   registration dialog box:  fixed the drop-down combo box to expose all the interpolation options during the registration.
RoiStats3D dialog box: fixed the crash after closing the dialog.

Wednesday, August 27, 2014

Liver Blood vessel segmentation.
New method is based on the "Time of Active Rise" technique developed years ago.  This can be applied to any organ in dynamic contrast studies.  "Time of Active Rise" parametric map is constructed and then a single simple threshold is chosen (in seconds).

Tuesday, August 26, 2014

FireVoxel Build 149 is released.

Download at:
https://drive.google.com/file/d/0B2lI9iEKOqv6N2U0a08taG9ZM2c/edit?usp=sharing



1. Sulci-ROI segmentation:  implemented function "Wave Distance" from the Brain mask ROI surface to its convex hull.
2. Implemented  the Support Module for measuring the Wave Distances in various scenarios.
3. Prototype of Sulci segmentation from  GM-CSF interface.
4. Fixed the crash related to DICOM features:  when volume is transformed with the dimension change (or similar operation),.
5. ABT: new subtest for Rotate+Scale of large volumes with all possible interpolations.
6. Volume Affine transform:  optimized memory usage  and workflow so it is possible to have a destination volume exceeding 1.5 billion voxels. 
7. Volume histogram calculation: optimized the memory workflow so very large volumes could be processed. 
8. DICOM load of very large: optimized memory workflow so no memory failure happens on 1.5 billion voxel volume.
9. Volume Arithmetic operations on very large volumes:  Optimized the memory workflow so the operations do not fail on volumes with upto 1.5 billion voxels timepoint.
10. SIEMENS De-identified DICOM load:  corrected the logic so the 4D dataset could be logically combined and loaded properly.
11. Added User Interface-level functions:
  a)Measure Surface Wave distance to Inside of the ROI
  b)Measure Surface Wave distance to Outside of the ROI
12. Surface Atrophy Depth measurement.  Added User Interface function "MainMenu>Brain>Measure Surface Atrophy depth"
13. Bruker ANALYZE 7.5:  added detection of the signed short integers in ANALYZE file, then offering user an option to treat file as a Bruker ANALYZE 7.5
14. Corrected the loading of ANALYZE-based  (.img)   4D file (.time).
15. MainMenu> {"Open RAW 3D", "Open RAW 4D"} functions:  added functionality so that last used extension is remembered and used as the default next time the dialog opens.
16. Completely re-engineered User Interface and the implementation of the "Aggregate projections"  -  {MIP,Surface}
17. Corrected the UI behavios:  In EdgeWave, if Vol+RoI is present,  ROI is disabled (invisible), but being Active ROI was still chosen as the operand.
18. Parametric Map calculation:  when resulting file is loaded, a check is performed if invalid floating point number is present (INF or NAN), message is  then displayed.
19. Dynamic Parametric Map module:  completely re-engineered the Model-1 ("Variation") and added an ABT validation subtest for this model.
20. Dynamic Parametric Models: Completely re-engineered Model 4 - "Input Function Distance". Added a corresponding ABT validation subtest.
21. Dynamic Parametric Models: Completely re-engineered Model 5 - "Custom Time of Active Rise". Added a corresponding ABT validation subtest.
Dynamic Parametric Models: Completely re-engineered Model 5 - "Custom Time of Active Rise". Added a corresponding ABT validation subtest.
Dynamic Parametric Models: Completely re-engineered Model 4 - "Input Function Distance". Added a corresponding ABT validation subtest.
Dynamic Parametric Map module:  completely re-engineered the Model-1 ("Variation") and added an ABT validation subtest for this model.
Parametric Map calculation:  when resulting file is loaded, a check is performed if invalid floating point number is present (INF or NAN), message is  then displayed to help pinpoint the source of the overflow.  Parametric map loading is then interrupted.
Corrected the UI behavios:  In EdgeWave, if Vol+RoI is present,  ROI is disabled (invisible), but being Active ROI was still chosen as the operand.
Completely re-engineered User Interface and the implementation of the "Aggregate projections"  -  {MIP,Surface}
MainMenu> {"Open RAW 3D", "Open RAW 4D"} functions:  added functionality so that last used extension is remembered and used as the default next time the dialog opens.
Corrected the loading of ANALYZE-based  (.img)   4D file (.time).

There was an additional typo error in the supplied header in image dimensions.



Also, the header of the .TIME file contains a different resolution (1,1,1 mm) from the information stored inside the individual  .img files.   (0.075, 0.15, 0.15mm)
Bruker ANALYZE 7.5:  added detection of the signed short integers in ANALYZE file, then offering user an option to treat file as a Bruker ANALYZE 7.5
File is now loading directly to FireVoxel (using supplied code sample, but without division by 10, see the MaxSI value reported).


Monday, August 25, 2014

                                           Surface Atrophy Depth meausrement.

Added User Interface function "MainMenu>Brain>Measure Surface Atrophy depth"

Two longitudinal timepoints Time0 (2009) and Time2 (2011)  of the same patient's brain were processed.

Step 1.
Brain Mask was extracted using FireVoxel\EdgeWave (after non-uniformity correction using FireVoxel BiCal).

Step 2.
Two Brain Masks were then registered using the Rigid Transform so they are overlaid in the same coordinate system of the Time2











Step 3.  For the Brain Mask of the earlier volume (Time0) we calculated the depth from the Surface into the brain (measured in 0.01 mm).


Step 4.  That "Depth from the surface" map of Time0, was then projected onto the surface-only  BrainMask of Time2.  Thus the surface values of the "Atrophy Depth map" were constructed.
One projection was rendered using the primitive rendering ability of the FireVoxel.
Depth of Surface atrophy (in 0.01 mm). Transparent voxels are due to FireVoxel's rudimentary volume rendering.



As a next step would try to regenerate the surface using better volume rendering tools.





















Sunday, August 24, 2014

Added User Interface-level functions:
a)Measure Surface Wave distance to Inside of the ROI
b)Measure Surface Wave distance to Outside of the ROI



Friday, August 22, 2014

SIEMENS De-identified DICOM load:  corrected the logic so the 4D dataset could be logically combined and loaded properly.  The problem was in De-dentifies replacing the TAG_PATIENT_ID differently for each timepoint.
Two timepoint T0(2009) and T1(2011) were
a) Whole brain segmented for masks M0 and M1.
b) Brain masks M0 and M1 were co-registered.


Result is below:
M0 - red mask (earlier)
M1 - blue mask (later)
Purple (red+blue) = overlap of M0 & M1