Search This Blog

Sunday, March 1, 2015

When PET document is loaded, the times are now correctly recorded in absolute format (i.e. from 01/01/1900)

Saturday, February 28, 2015

Case CV:
Quality of PET4D-MR4D registration (Binary mode).  PET and MR should be motion corrected prior to the registration.


Registration by DICOMTAGS: corrected defect when two  4D volumes are registred and placing as an additional layer produces a crash.

Thursday, February 26, 2015

Fixed defect:  When multilayer document is cropped using Vector ROI, new document opens and ALL the layers are redrawn correctly now.
FireVoxel Build 174 is released.

Download here:   

https://drive.google.com/file/d/0B2lI9iEKOqv6ZkxLbGx2aWJBWWM/view?usp=sharing
FireVoxel 174 and higher was compiled with Visual Studio 2013.  It requires a one time installation of a new Visual Studio 2013 redistributable package.

It is available from Microsoft here:
http://www.microsoft.com/en-us/download/details.aspx?id=40784

Press Download button.

Then choose "vcredist_x86.exe"



Created a dedicated workflow submenu:  "MainMenu>Application>Renal workflow without AIF"

Wednesday, February 25, 2015

Tuesday, February 24, 2015

Get ROI Tac (RoiStats4D\F4) procedure: optimized performance so the speed is proportional to the size of the ROI.
Implemented UI-level function "Main Menu>ROI>Crop volume by ROI".  This takes {3D,4D} ROI, find maximum bounding box for all voxels and crops the current document by this box in 4D creating a new document.
Kidney Ctx+Mdl segmentation from GRASP-4D exam.  FVX registration is performed in this example.


Timepoint of cortex peak


Kidney GRASP-4D (from liver exam).  Fully automatic 4D-segmentation.


Monday, February 23, 2015

Kidney 4D segmentation by Patches:  fixed defect of missing "8->32 bit conversion".
Restored correct functioning of the Dialog RoiStats4D when the 4D Roi is present with the single timepoint non-empty ROI.
FireVoxel was rebuilt using the latest 2013 edition of Visual C++.
PET4D-MR4D registration finalized.  Automatic Build subtest is created.

Wednesday, February 11, 2015

Automatic Build Test:  added a subtest for CT Brain Atrophy (ICC\CSF) segmentation.
Automatic Build Test:  added a subtest for PET-FDG motion correction.
PET-BrainMask automatic detection:  included automatic Windows\Level optimization when the operation is completed.
EdgeWave dialog:  corrected the "Seed Average" value calculation (displayed at the top status line)

Monday, February 9, 2015

Greatly improved the "memory footprint" of the EdgeWave function and surrounding procedures.  On the 512x512x667 volume that was causing the "CT Brain Atrophy" crash with Build 172 (memory footprint:  2.4GB  max allocated memory\ 680MB max allocated block),  footprint was substantially reduced for problem-free execution (down to 1.3GB max allocated memory\320 MB max allocated block).
Developed memory diagnostics tool that for the given functional block returns the Max Allocate Memory and the size of the Max Allocated Block during the entire execution time of the functional block.

Saturday, February 7, 2015

CT Atrophy Batch processing dialog: fixed uninitialize memory error in # of slices required.
CT Atrophy Batch processing dialog:  added the checkbox option for the "Include Multislice Volumes only with at least N slices".

Friday, February 6, 2015

Fixed the DICOM loading error (IMAGE_POSITION incorrect).
Implemented more robust parallelization scheme for DICOM load.

Thursday, February 5, 2015

FireVoxel Build 172 is released.
CT Brain atrophy batch processing: fixed several defects including "missing TAG", "present MR modality", "ROI is empty" problems.  Increased default minimum number of slices to 20.

Wednesday, February 4, 2015

EdgeWave functions and the Dialog box have a new option to process in 2D mode (i.e. slice by slice)
Variant of processing on "pseudo-Huang"
Additional steps:
1.  Image is smoothed with Median filter Rad=2
2. EdgeWave is applied in 2D mode.

Note that results on lower (closer to neck) slices would not be reliable.

Add caption

Tuesday, February 3, 2015

pseudo-Huang case:  Salt&Pepper issue for certain thresholds
Threshold [500,1150]

Threshold  [500,1250]


CT Brain Atrophy batch processing - implemented the Output log file.

Sunday, February 1, 2015

EdgeWave morphology algorithm:  complete re-engineering of the memory management and full parallelization.  Resulted in about x2 speedup on the CT Brain atrophy dataset.

Saturday, January 31, 2015


List of the Organ and Modalities that FireVoxel has unique offerings not available in other packages.




Thursday, January 29, 2015

HYDROCEPHALUS study: an attempt to use the sulcal depth histogram

CASE A:  projections




CASE A- Sulcal depth map and distribution (notice average\median depth of  300\211 in 0.01 mm)

CASE B: projections
CASE B:  sulcal depth average\median = 187\134  (in 0.01mm units)

Wednesday, January 28, 2015

Open DICOM dialog: corrected the behavior of the "Refresh" button.
CT Atrophy batch processing:  Remove Temporary (File reference) Folder after the execution.
FireVoxel Build 170 is released.
Dialog 'ROI Split by threshold" : Corrected the "Initial value uninitialized" defect.
CT Brain Atrophy Batch workflow:  fixed the ROI threshold definition to match one provided by UI-level "ROI Split by threshold" function.

Tuesday, January 27, 2015

EdgeWave algorithm:  eliminated several major memory leaks
DICOM load:  enabled loading of DICOM volumes NOT containing the TAG_IMAGE_POSITION and\or  TAG_IMAGE_ORIENTATION.

Monday, January 26, 2015

Brain Atrophy Batch processing workflow:   improved diagnostics of all working and Output folder issues.
"Open recent document":  corrected behavior when the open document would initially appear minimized due to the call to the standard Windows function perhaps with wrong default parameters.
Added Virtual function to the CDrawApp class to provide correct behavior.
EdgeWave algorithm:  completely re-engineered and simplified processing of the morphological part (Peel\Grow).  Output is identical to the old version but with much better memory bandwidth and about 4% speedup.

Tuesday, January 20, 2015

Added the hybrid document saving function to the Brain Atrophy (CT) batch processing.
Integrated the VTF-4D transform feature in PET-FDG motion correction  Single\Batch versions.

Sunday, January 18, 2015

4D VTF file integration into the registration:  4D-to-3D variant used in Motion Correction.
Introduced the concept of 4D transformation in conjunction with the 4D VTF file.  This allows to apply individual Affine transforms for each of the timepoints of the 4D volume.

Thursday, January 15, 2015

PET-FDG motion correction Implemented a Batch processing function with User Interface:
Source Folder (with subfolders)->Target folder

Wednesday, January 14, 2015

Improved the messaging API in EdgeWave function so it could be called in various Batch workflows and not interrupt the progress of the calling process.

Tuesday, January 13, 2015

CT Brain Atrophy Batch Analysis, latest Dialog box:

DICOM Load:  corrected defect when any load was showing the dialog box and request to enter valid resolution even when the determined SPC.Vz was exactly matching the average interslice distance.

Monday, January 12, 2015

Thursday, January 8, 2015

FireVoxel Build 167 is released.

 https://drive.google.com/file/d/0B2lI9iEKOqv6cW4yRVBoai1kRFU/view?usp=sharing
Corrected the "last loaded extension" issue in the OpenRAW function of the Layer Control dialog box.

Wednesday, January 7, 2015

Updated the About dialog box to avoid text-picture overlap at various font sizes.
Enabled starting functionality for the VA-grant dialog.  Implemented a system of extracting the "reference volume files" first.  This would allow to conveniently separate file extraction from image processing tasks.

Tuesday, December 23, 2014

Monday, December 22, 2014

Corrected the dialog logic (pasting appropriate dz suggestion) inside the Dialog SpecifyResolution.
DICOM Save:  changed the default compression mode to "Uncompressed".  Enabled load of the result by ImageJ (requires uncompressed).
DICOM File Save:  added tags that were missing in previous versions:
TAG_SERIES_NUMBER
TAG_INSTANCE_NUMBER (former TAG_IMAGE_NUMBER)
TAG_MODALITY

Friday, December 19, 2014

HL-case:  PET-FDG.   Reconstruction artefact due to the Gross motion between timepoints #34 and #36.  It appears that at T#35 the reconstruction has combined the head signal from several grossly distant positions, resulting in blurred image and halo (well visible on left-top corner T#35).
This timepoint is too blurred to be motion corrected but result is reasonable. Everything else is motion corrected quite well.

HL - T#34 (2440 sec)

HL-T#35 (2740 sec)

HL- T#36 (3040 sec)

Wednesday, December 17, 2014

Comparison of   "IVIM- free fit" on the sample dataset obtained from Henry:  Eric's vs. FVX
Eric's IVIM-free fit.  Residual = 2.33


FireVoxel IVIM-free fit.  Residual=2.006

Comparison of   "IVIM-segmented fit" on the sample dataset obtained from Henry:  Eric's vs. FVX

Eric's IVIM-segmented fit.  M0=Tac[b0].  Residual = 2.3



FireVoxel IVIM-segmented fit.  M0 is fitted.  Residual=2.13

Tuesday, December 16, 2014

PET-FDG motion correction.  Most challenging case (MB-15) of the last batch.  Before and after motion correction, reference BrainMask from the last timepoint (#38) is overlaid on the maximum displacement timepoint (#27)

Before

After

Monday, December 15, 2014

MainMenu>ROI>Clip Volume by ROI:   completely parallelized the implementation with great performance gain (on long 4D sequences).

Saturday, December 13, 2014

FireVoxel Build 165 is released.

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



1. FireVoxel file save - disabled the PHI warning,
2. Fixed crash defect:  4D volume overlaid by 3D-ROI as active layer.  Calling EdgeWave function was producing crash.
3. Defect fix: EdgeWave algorithm on real-valued volumes:  provided correct conversion of units from the dialog box to the actual procedure.
4. Affine transform reslicing: substantially increased the parallelization resulting in about x2 speed improvement on the developmental 6-core platform.
5. SIG_DIFF registration measure:  changed accumulation from L2 to L1 norm.
6. UI - VolumeSmooth function:  Removed erroneous  "ROI required function"
7. VolumeSmooth (Median):  corrected the fixed memory allocation for the sorting, so the smoothing of double-valued volumes does not crash anymore.
8. Fully parallelized the VolumeSmooth procedure so it runs with the 100% load on 12-thread system.
9. Implemented initial variant of the "DICOM File Extractor" dialog box.
Implemented initial variant of the "DICOM File Extractor" dialog box.
Next iteration of CT file extractor dialog:

Friday, December 12, 2014

Thursday, December 11, 2014

Fully parallelized the VolumeSmooth procedure so it runs with the 100% load on 12-thread system.
VolumeSmooth (Median):  corrected the fixed memory allocation for the sorting, so the smoothing of double-valued volumes does not crash anymore.
UI - VolumeSmooth function:  Removed erroneous  "ROI required function"

Wednesday, December 10, 2014

DICOM Tree functionality:  decoupling the DICOM volume objectification functionality from the DICOM-Folder-Tree dialog box.  This is so that functionality could be used by other DICOM-related dialogs.

Tuesday, December 9, 2014

Register 4D volume to 3D:  major code re-engineering.
Registration of 3D/4D volume to ROI.  This frequent and useful scenario is greatly sped up by adding the "Target ROI" identical to the binary Target and inflated by 1 voxels. This improvement is only effective for the URAL-measure scenarios.

Monday, December 8, 2014

SIG_DIFF registration measure:  changed accumulation from L2 to L1 norm.

Friday, December 5, 2014

Affine transform reslicing: substantially increased the parallelization resulting in about x2 speed improvement on the developmental 6-core platform.

Thursday, December 4, 2014

Defect fix: EdgeWave algorithm on real-valued volumes:  provided correct conversion of units from the dialog box to the actual procedure.

Wednesday, December 3, 2014

Fixed crash defect:  4D volume overlaid by 3D-ROI as active layer.  Calling EdgeWave function was producing crash.
FireVoxel file save - disabled the PHI warning, so it is the full user responsibility now.

Monday, December 1, 2014

FireVoxel Build 164 is released.


1. SulciPrint2D:   Added basic skeletonize functionality to binary SulciPrint2D.

2. MainMenu>Volume>Pad:  added the function to pad\extend volume with "0" fringes of the specified size (in mm).


3. BiCal post ISMRM follow-up and corrections.  Introduction of the new BiCal version - Multipass. Original BiCal is rebranded "BiCal Basic" on the user interface.  BiCal Multipass becomes "BiCal" on the user interface.

4. Corrected the cleanup of the FireVoxel working directory upon start\close of the Application.

5.Completely new BiCal algorithm is introduced with greatly simplified interface.

5. Included additional heuristics into the loading logic of the MIDAS  *.time files to correct the reported loading defect.

6. FireVoxel ABT: for each of the time-based dynamic model added an option to run the test both for the FVX file format and MIDAS file format.  Three actual models are verified in this dual mode.

7. Corrected: when in a 3 or more layer volumetric entity, the ROI is selected and the other layers are SI-volumes, a crash occurs right after the "Ambiguous layer configuration" message.

8. All Dynamic parametric models:  non-functioning "Process All" option was restored.


9. F9 function key brings up the FVX "Save Document" dialog box.
F9 function key brings up the FVX "Save Document" dialog box.
All Dynamic parametric models:  non-functioning "Process All" option was restored.
Corrected: when in a 3 or more layer volumetric entity, the ROI is selected and the other layers are SI-volumes, a crash occurs right after the "Ambiguous layer configuration" message.
FireVoxel ABT: for each of the time-based dynamic model added an option to run the test both for the FVX file format and MIDAS file format.  Three actual models are verified in this dual mode.
Included additional heuristics into the loading logic of the MIDAS  *.time files to correct the reported loading defect.

Sunday, November 30, 2014

BICAL parameter dialog box:
Reduced and greatly simplified and reduce # of parameters.
Notice new option: processing without Edge detection.

Saturday, November 29, 2014


New generation of the BiCal algorithm is ready => "BiCal Multipass"

Sample of the processing on BPD-001

170 seeds were manually constructed over the White Matter.
Original nonuniformity =  0.608
N3-corrected (2-pass)     =  0.31
BiCal MP                         = 0.057


Both N3 and BiCal preserved the WM\GM contrast measured between close pairs of seeds = 1.67+/-0.24.

ORIGINAL volume:   White Matter Nonuniformity = 0.608

N3-corrected volume (double pass with aggressive FieldSmoothness=10mm):  White Matter non-uniformity = 0.31

BiCal-corrected volume:  White matter non-uniformity is 0.057

Friday, November 28, 2014

BiCal Explorer Classic:  restored the dialog box and processing to find out optimal parameters for BiCal correction.

Sunday, November 23, 2014

BiCal dialog processing: 
a) Added the "Enchanced Edge" option corresponding to the URAL-grad to processing.
b) Removed the "Reuse Edge" checkbox option from the interface to ensure it is always on.

Friday, November 21, 2014

Corrected the cleanup of the FireVoxel working directory upon start\close of the Application.

Thursday, November 20, 2014

BiCal post ISMRM follow-up and corrections.  Introduction of the new BiCal version - Multipass. Original BiCal is rebranded "BiCal Basic" on the user interface.  BiCal Multipass becomes "BiCal" on the user interface.

Tuesday, November 18, 2014

MainMenu>Volume>Pad:  added the function to pad\extend volume with "0" fringes of the specified size (in mm).