Search This Blog

Wednesday, March 25, 2015

Fixed the defect when on FVX exit the Working directory was cleaned out instead of App\Temp directory.

Tuesday, March 24, 2015

Jeff Zhang's 3C model (JZ3C) was implemented and tested on sample GRASP dataset:


Arterial ROI was automatically selected using IDIF function


AIF-function was extracted 

Segmented kidney


JZ3C model fit (GFR=21.54)

Sunday, March 22, 2015

JZ2C-model (AIF-free) initial implentation:
Original 4D-segmented volume

Corresponding curves for Cortex (red) and Medulla (blue)

JZ2C (AIF-free) model fit. Blue dots - data, Yellow line - fitted curve

Friday, March 20, 2015

GFR modelling fitting is displayed now combined with GFR. This would be common for all models
Updated the menu for Single Kidny GFR calculation:

Wednesday, March 18, 2015

FireVoxel configuration file:  implemented an initial version of Load on App start, Save on App exit.

Tuesday, March 17, 2015

RoiStats3D dialog:  corrected processing when there is a single ROI without the underlying volume. Number of voxels and volume in cm3 is displayed properly.

Monday, March 16, 2015

User Interface Option dialog: introduce the AutoTile option

Implemented several options for the volumetric cursor behavior:  {Regular, Multiprojection Synchronize on Click (=Mango), Multiprojection Synchronize}


"T1-mapping using inversion recovery" parametric model:  combine two models into a single one with an option for {REAL,MODULUS} calculation.
Implemented an automatic subtest for the REAL case.

Saturday, March 14, 2015

T1-mapping:  fixed defects in {RoiStats4D, ViewTac} dialogs when the input signal has negative values.

Wednesday, March 11, 2015

FireVoxel Build 176 is released.
PET4D<->MR4D registration:  implemented "ROI-crosscopy" feature that copies all the ROIs between Source and Target.
"Fill & Morph"   error explained:

Actually it does not seem to be an error.  Result is due to the few "unintended" ROI voxels in the intermediate slices.
Result is due to the few "unintended" ROI voxels in the intermediate slices (blue arrows)
With unintended voxels removed Morphing result appears to be correct.
Implemented the initial version of the synchronized multiprojection 3D cursor


Tuesday, March 10, 2015

T1-mapping (it-dynamic component):  fixed defect of incorrect scrolling in time.

Monday, March 9, 2015

Fixed processing of complex 4D Cine dataset where TAG_CONTENT_TIME was used to hold timing info.  Additionally  repeating times are now handled properly.
Cine images, timings are recovered - there are some repeats.

Corrected defect with  "Threshold to ROI" user-level function when the negative threshold is used.
Diagnostic message is added .

Sunday, March 8, 2015

Implemented logic for loading MR images which after Rescale\Intercept contain negative values.
User is offered an offset so the minimal voxel value would map into 0.

Resulting loaded volume


Added ABT subtest for NIFTI 3D and 4D load.
"Save Active Layer to RAW": disabled the defect of not functioning for 3D volumes.

Friday, March 6, 2015

Dynamic segmentation Verification dialog:  added handling of the arrow keys so they are translated directly into Volume scrolling as usual handling of the volumetric document.
"4D  Segmentation by Patches" - fully parallelized with x5 speed improvement on reference machine.

Thursday, March 5, 2015

Fully parallelized the ROI Tac calculation (F4) - great speed-up
Fixed a major "racing condition" during the parallel load of ".FVX" files.
Parametric model calculation for a Single ROI TAC:  expanded the progress message to include the name of currently processed model.
Parametric model calculation:  expanded the progress message to include the name of currently processed model.
Dynamic segmentation verification dialog (Segmentation by 4D-patches):  pre-calculate all the TACs for all ROIs during the dialog initialization so later on User has an instant access to all TACs.

Wednesday, March 4, 2015

Dynamic (4D) Segmentation  Verification dialog box:  added the Mouse Wheel response so user can scroll through slices without exiting the dialog box.

Tuesday, March 3, 2015

Renal GFR calculation (CERENE) - changed the default registration method to URAL (signal  gradient based).
Dynamic segmentation dialog: modified the dialog layout and added several addition options for the TAC normalization and comparison.

Monday, March 2, 2015

FireVoxel Build 175 is released.
NIFTI-1 support:  enable  FireVoxel load of images from the BPD dataset

Provided initial support for reading Nifti-1 format into FireVoxel.
Preliminary testing was done on sample files from NIFTI website
a)  3D   unsigned 8-bit
b)  4D  signed 16-bit

Sunday, March 1, 2015

PET4D-MR4D registration:  added a content time difference check between MR-PET and an option to "not use the DICOM-tags initial alignment".  This is to fixed some studies where PET & MR were acquired not simultaneously.

Now correct result for RS registration:

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