Search This Blog

Tuesday, November 11, 2014

FireVoxel Build 162 is released.



1. Re-engineered the "VolDisplay.cpp"  
2. Implemented the "MainMenu>Projection>Active Layer: Project to single slice volume"
3. Corrected the Layer arithmetic operations  AbsDifference and TruncatedDifference.
4. Layer control dialog:  increased the spacing between the layers name.
5. Added function to measure difference between two SulciPrint2D in Binary Mode.
6. Added function for SulciPrint2D difference in "Depth mode".
7. Added one-step function  "View SulciPrint  (2D\3D) in Binary Mode"
8. Added one step function to view SulciPrint 2D\3D in "Depth mode".
9. Greatly simplified entire "BrainPrint>SulciPrint" workflow putting all the function as ONE-STEP commands under the single menu.
Greatly simplified entire "BrainPrint>SulciPrint" workflow putting all the function as ONE-STEP commands under the single menu.


Added one step function to view SulciPrint 2D\3D in "Depth mode".
Added one-step function  "View SulciPrint  (2D\3D) in Binary Mode"
Added function for SulciPrint2D difference in "Depth mode"

Depth difference map:   units are in 0.01 mm

Added function to measure difference between two SulciPrint2D in Binary Mode.  Measure on the Test-Retest pair, the mismatch is 8% of all surface voxels.


Monday, November 10, 2014

Comparing the volume obtained from Yulin to the Hydrocephallus. Patient 6.


Layer control dialog:  increased the spacing between the layers name, so swapping the layer position is easier now.
Layer arithmetic operations  AbsDifference and TruncatedDifference: made corrections so they perform properly.
1.  SulciPrint2D for Test-Retest pair was produced.
2.  abs(SulcalDepthA(x,y,z)-SulcalDepthB(x,y,z) map was calculated.
3.  Average difference over the Sulcal surface voxels, not including Gyri, was only 0.7 mm.

Sulcal Depth DIFFERENCE map between test retest.  Histogram of the difference values in (0.01mm)






SulciPrint test for the "Test-Retest" pair dataset.

a) BrainMasks were produced using (BiCal+EdgeWave)
b) BrainMasks for test & retest were registered, in binary mode,
using URAl-AutoFocus3D.
c) SulciPrint3D and SulciPrintAxial2D were produced.

Quality of registration is NOT sufficient to simply subtract the SulciPrintAxial2D, but result looks promising.  Working on improving the registration.


Implemented the "MainMenu>Projection>Active Layer: Project to single slice volume"
Re-engineered the "VolDisplay.cpp"   c\c++ module.

Sunday, November 9, 2014

FireVoxel  Build 161 is released.
Liver DCDI Blood Vessel segmentation mini-workflow:  added additional diagnostic regarding the number of required layers.
Fixed crash defect in Blood Vessel segmentation mini-workflow.  Improved the ABT subtest to catch this kind of errors in the future.

Saturday, November 8, 2014

Friday, November 7, 2014

"Process All ROIs as single TACs" instructions:
a) In Layer Control dialog, select the main 4D Volume to be active, not one of ROIs.  This way all ROIs are considered "equal" and would be
processed in the same fashion.
b) Only Enabled ROIs would be processed.  (Enable\Disable layers by pressing the transparency button next to their name in the Layer Control Dialog.

Thursday, November 6, 2014

FireVoxel Build 159 is released:

1. BiCal field:  change the final normalization from the Average Field=1, to Integral of signal remain constant.
2. "ROI Split by Threshold" dialog:  expanded functionality so the ROI is not required, in which case the entire volume is thresholded.
3. "Split ROI by threshold" menu command - expanded to include 3 options for the initial segmentation:  Split by specified Threshold, Split by the portion (50/50), By adaptive split of the histogram
4. "Split ROI by Threshold" functionality - last accepted threshold setting is now remembered.
5. BiCal dialog box:  added a "Determine" button for the "Air Threshold" parameter.  
6. Dynamic Processing Framework:  implemented a new option to process ALL presents ROIs as single TACs.

7. Corrected the defect with using Paintbrush over the "Signal-intensity" volumes.
Corrected the defect with using Paintbrush over the "Signal-intensity" volumes.

Wednesday, November 5, 2014

Dynamic Processing Framework:  implemented a new option to process ALL presents ROIs as single TACs. This is convenient when numerous (10+) ROIs are present and have to be processed.


Calculated parametric information is copied to clipboard in the following format:


Tuesday, November 4, 2014

BiCal dialog box:  added a "Determine" button for the "Air Threshold" parameter.  This invokes the dialog "Split ROI by threshold", so user quickly manually adjust the "Air Threshold" parameter and it is remembered.
"Split ROI by Threshold" functionality - last accepted threshold setting is now remembered.
"Split ROI by threshold" menu command - expanded to include 3 options for the initial segmentation:
a) Split by specified Threshold
b) Split by the portion (50/50)
c) By adaptive split of the histogram
"ROI Split by Threshold" dialog:  expanded functionality so the ROI is not required, in which case the entire volume is thresholded.

Sunday, November 2, 2014

BiCal field:  change the final normalization from the Average Field=1, to Integral of signal remain constant.

Friday, October 31, 2014

Non-Uniformity Normalization Using 3D Canny Edges and Legendre Polynomial Approximation of the Bias Field: Validation on 7T  T1W Brain Images.  ISMRM 2013. Artem Mikheev, Henry Rusinek, Graham Wiggins.

Ultra High Field MRI: What is in Full Bloom & What is Sprouting? ISMRM SCIENTIFIC WORKSHOP  2013.  Artem Mikheev, Henry Rusinek, Graham Wiggins.

Original (Non-uniformity: WM=28.5%  GM=33.5%)

N3-corrected (field smoothness = 10mm.  Nonuniformity WM=13.5%  GM=19.8%)

BiCal (Nonuniformity: WM=7.1%   GM=13.4%)


All acquisitions were performed on a 7T imager (Magnetom; Siemens, Erlangen, Germany) by using a volume-transmit 24-element receive coil array (Nova Medical, Boston, Mass). A 3D automatic shimming was first performed by adjusting all fist and second order shim currents, then shim performance was verified by using the interface on the imager console. This was followed by either sagittal (n=2) or axial (n=2) 3D MPRAGE sequences acquired on four volunteers (28-54 year old, 3 males). The acquisition parameters were: TR/TE/TI=2.6/2600/1100 msec, FA=6°, 248  SL=0.6 mm, 346 × 323 x 248 matrix, acceleration factor of two. 

Thursday, October 30, 2014

FireVoxel Build 158 is released.



1. Implemented an initial version of the fully elastic registration algorithm.  In this variant - a 3D volume and the "Starting Shape" ROI are provided.  
2. ROI Inflate-Deflate dialog box:  encapsulated programming interface.
3. URAL feature generation function (both Grad\Edge).  Made adjustment to algorithm that greatly improve the speed of the processing on binary volumes (was done in context of the Mongoose-Elastic registration)
4. Landmark Matching\Registration function:  upgraded to accept arbitrary number of Landmarks.
5. Added a handy function to determine if 3D polynomial transform is actually 2D.
6. Performed correction for the "Calculate the Texture Gradient over the ROI only" function.
7. Finalized, documented and sealed 2 most promising variants of the new Elastic Mongoose registration\segmentation algorithm.
8. BrainPrint - SulciBasePrint: Can be now generated in FireVoxel directly.
9. Added ".image"  to the list of the supported DICOM extensions.
10. Liver DCDI:  Blood Vessel removal Dialog:  corrected an error with displaying the percentage of the Vessel and Liver.
11. Performed a major reengineering of a composite DynamicCoordinate structure in FireVoxel
12. FVX file format load:  Implemented function that ensures the Chronological order of Dynamic coordinates.
13. Fixed an error in "ChangeEndianess" function that was causing an aborted load of .im files.
14. .IM file RAW load:  added special processing in case the time values are not in chronological order.
15. MIDAS .time format::  Added improved heuristic about the "Starting Index Convention"
16. T1-inversion recovery model:  completely reengineered the model, implemented a Global Fit solution, updated the user interface.
17. "Brain EdgeWave Express" workflow:  corrected the aborted processing defect when submitted volume is 4D.
18. PET-MR  4D-4D registration:  complete re-engineering of calculations and User interface.
19. Speed up and minor corrections to the "T1-inversion recovery" parametric models
Speed up and minor corrections to the "T1-inversion recovery" parametric models.
PET-MR  4D-4D registration:  complete re-engineering of calculations and User interface.

Wednesday, October 29, 2014

"Brain EdgeWave Express" workflow:  corrected the aborted processing defect when submitted volume is 4D.
In most dynamic models:  improved checking of the required Dynamic dimension to be present and have the proper values.
T1-inversion recovery (MODULUS):  parametric fitting and T1-map for the whole slice.  Processing time is 3 min/Slice but could be substantially improved.

T1-inversion recovery model:  completely reengineered the model, implemented a Global Fit solution, updated the user interface.

Data curve (Red),  Model Curve (Black)

Dynamic model  "T1 mapping using inversion-recovery - MODULUS" : made correction to allow data to have repeating TI-values.
MIDAS .time format::  Added improved heuristic about the "Starting Index Convention"
.IM file RAW load:  added special processing in case the time values are not in chronological order.
Fixed an error in "ChangeEndianess" function that was causing an aborted load of .im files.

Tuesday, October 28, 2014

FVX file format load:  Implemented function that ensures the Chronological order of Dynamic coordinates. 
Performed a major reengineering of a composite DynamicCoordinate structure in FireVoxel.  This influences the way the dynamic coordinates are stored and used.

Monday, October 27, 2014

Liver DCDI:  Blood Vessel removal Dialog:  corrected an error with displaying the percentage of the Vessel and Liver.

Sunday, October 26, 2014

Sulci Base Print with the Sulci Depth.  This is a quantified print, not a volume rendering.
Units are in 0.01 mm.  All processing and print are produced by FireVoxel, no additional software.



The above image is dual with the "Binary SulciBasePrint" which could be directly derived from the above.
SulciBasePrint:   Initial result of Sulci Depth maps (raw data to be improved).  Note!  THIS PICTURE IS NOT A VOLUME RENDERING.  Instead it is a fully quantifiable base print.  Signal intensities are in 0.01mm units representing Sulci depth

Added ".image"  to the list of the supported DICOM extensions.
BrainPrint - SulciBasePrint:

Can be now generated in FireVoxel directly.  Below is an intermediate result of binary SulciPrint, without Sulci Depth information (next step).  Note that the visible width of the Sulci is highly influenced by the User-define "Sulci minimal depth parameter"



Saturday, October 25, 2014

Implementing the "Sulci Base Print"  function for the BrainPrint project.

Friday, October 24, 2014

Finalized, documentd and sealed 2 most promising variants of the new Elastic Mongoose registration\segmentation algorithm.
Performed correction for the "Calculate the Texture Gradient over the ROI only" function.  This would speed up substantially and produce less irrelevant features for certain registrations.

Wednesday, October 22, 2014

Invented and implemented a superior "Feature-match" function for the Elastic Flow.  It is insensitive to the ordering of the voxels in the Match Search Apperture.

Monday, October 20, 2014

Implemented a function for Volume reslicing using the Flow Map.
Images of {1,32} bit and standard interpolations are allowed.

Friday, October 17, 2014

Added a handy function to determine if 3D polynomial transform is actually 2D.
Updated the Polynom::PruneZero() function, to check term coefficients to be fabs(k)<MACHEPS instead of exact zero