Search This Blog

Monday, September 9, 2019

Build 310 is released.

1. OpenDicom dialog box:  fixed defect in "Show Compatible Volumes" functionality.
2. OpenDICOM dialog box: added a function (button) "Uncheck All" - removes all checks from All
items
3. Developed a 3-choice customizable dialog for a more transparent UI.
4. Eliminated the performance inefficiency in Zooming\Affine functionality. All zooming functions are impacted and the most visibly the FilmView.
5. Major rework of the OpenDICOM dialog box. Separating the Selection and Loading functionality.  New ability to load arbitrary combinations of compatible Series.
6. Implemented "Average Nonuniformity Measurement" for all opened documents.

Saturday, September 7, 2019

FireVoxel Build 309A is released.

1. OpenDICOM dialog box: Impemented he "Dicom Tag Difference" tool that detects all different DICOM tags for 2 selected files and copies the aggregate result to the clipboard.

2. DICOMREC structure modification to include additional BOLUS attributes.

3. Incorporated the Bolus attributes into DICOM 4D Volume construction logic so the CIR31 series 98 are properly separated now.




4.  OpenDicom dialog new feature:  all composite SERIES corresponding to dynamic
Volumes With Contrast are now marked with the red frame around the SL or VL icon.
5. BACKSPACE button is now working as a DELETE button when not the single Polyline is selected.

6. N4explorer: Fixed  typo errors in displaying the result.

Thursday, September 5, 2019


BICAL paper evaluation:Suggested parameters accessible through BiCal+ functionality:

Abdominal GRASP case

head BPD  7T

Breast FAT\FGT case

Friday, August 30, 2019

Build 309 is released.

1. Corrected crash defect in Nonuniformity Measurement.
2. DICOM load: fixed defect in logic combining separate SERIES into a 4D Volume.  Some Volumes
were incorrectly assembled
3. BiCal: Corrected  defect in core BiCal procedure (edgemap reuse in iteration).
4. BiCal: fixed the defect with isotropic volumes DoublePass
5. Fixed the crash in Noise calculation function on REAL images
6. BiCal: enabled REAL input images.
7. Fixed N4explorer  parameter setting for Noise.
8. NIFTI load: fixed defect loading single NIFTI 4D file.
9. Further correction in DICOM logic of parsing the 4D files.
10. Fixed a defect in loading of b-values from SIEMENS DICOM file.

Tuesday, August 27, 2019

Build 308 is released.

1. DICOM Tags for Diffusion: fixed the B-factor (B-value) loading for the following Philips models:
{ Ingenia, Achieva, Multiva, Intera }
2.Bical now outputs REAL type image as the result of the processing.
3. BicalResearch dialog: Implemented an additional option "DoublePass" which further improves the results.

4. BiCalResearch dialog: redesign of several fields - now includes the AirThreshold in Noise units, a separate Baackground panel.

5. Streamlined the BicalResearch dialog box.  Change the AirLevel and EdgeLevel parameters to
be in Noise units to make it more robust across the images.

6. Combine two Non-uniformity measurement items into one under the MainMenu>Nonuniformity

7.  MainMenu>Transform>Rotate
Corrected several defects with the global parameter in the dialog.

Saturday, August 24, 2019


Best parameters for processing the GRASP\Abdominal case, from BicalResearch dialog:

Tuesday, August 20, 2019

Build 307 is released.

1. BiCal: Fixed the Edge detector threshold defect
2. BiCal Research dialog: Exposed the  Edge Radius, Edge Threshold parameters.
3. BiCal Research dialog: Noise calculation is done automatically and that level is
displayed so the User can set Edge threshold based on noise units.
4. Bical Research dialog: introduced new Basis functions:
{Legendre,Chebyshev1,Chebyshev2, Regular Polynomial,Cosine}
5. BiCal research dialog: removed the "SVD tau" parameter.  "Background morph" parameter is now in (mm).
6. Fixed defect (crash) when during the Polyline drawing the User presses delete without pressing ESC first.
7. Enable the load of TIME\NIFTI   4D files.

Thursday, August 15, 2019

FireVoxel Build 306 is released.

1. Implemented function to load all the FVX documents from the specified folder.
This is under the MainFrame>File> menu.

2. Removed a failing check for the presence of the VC++ 2019 Redistributable.
3. Added a voxelwise CJV calculation under the Nonuniformity>Measure menu.
4. Corrected the calculation of CJV measure according to B. paper.

5. Re-implemented N4-explorer tool with 5 optimization measures
{ roiaNU,robNU,CSM,blobCJV,voxCJV }
   a) Start application and File>Open FireVoxel Folder.
   b) Specify location of the folder, press OK.  All fvx files in that folder will be opened.
   c) Application will check if all documents have the same number of Active ROIs.
   d) Press MainMenu>Nonuniformity>N4 Explorer. Corresponding dialog will show up.
   Define the ranges for the optimization parameters. Set the constant parameters using the
   N4 parameter dialog box in the left lower corner.
   e) Optimization will run. Final dialog will show up. Each of 5 optimization results will be displayed   in the Info dialog and the same result will be copied to the clipboard.


6. BiCal Dialog: introduced the bool variable : "Output Foreground" that outputs the ROI mask for the foreground voxels used in BiCal calculation.

Monday, August 12, 2019

FireVoxel Build 305 is released.

1. BiCal optimization matrix construction: Further acceleration which becomes dominant at the higher degree of the field.
2. BiCal:  Removed a non-existent option for field in AIR from use interface, since there is only VOIDFIELD option is allowed in the Air.  BiCal research dialog box is simplified .
3. FireVoxel start-up:  added checks that VC++ Redistributable 2013 and 2019 are present.
4. Fixed the incorrect initial volume zooming position when loading a document (expressed in Debug version only)
5. MRTM2 (model #31):  added an Output parameter : RMSE/Average Signal.
6. MainMenu>Nonuniformity>Measure NU of two layers  added the CJV measure.
7. Added ABT subtest for MRTM2.
8. Fixed the issue with the negative field in the RoiStat3D dialog box. Implemented a custom
dialog field function for double precision floats with the user-specified precision (from 15 to 30 decimal positions).

Wednesday, August 7, 2019

Build 304D is released.

1. Added additional diagnostics for the Input\Output files presence during the N4 execution.
2. BiCal dialog: Changed the Subsample parameter to Processing Scale parameter [0.1,10]. Fixed the defects and tested. Note: now the larger number will slow down processing, smaller will speed up.
3. Substantial BiCal speedup when using Processing Scale = 0.5. On 7T brain a minor reduction in quality with NU raising from 0.051 -> 0.057
4. BiCal: Speedup in matrix construction

Tuesday, August 6, 2019

FireVoxel 304B is released

1. Modified the command line construction for the N4*.exe tool.

Tuesday, July 30, 2019

FireVoxel Build 304A is released.

1. Fixed defect in reporting the diagnostics message for the Windows system GetLastError() function.
2. Enable N4-ANTS to run on the Real volume (this also allows a direct N4 second pass on the same image).
3. Added an execution notification while N4 command line is running.
4. Performed optimizations so the BiCal single run reaches very close result to BiCal double run but without extra time or blurring of the double run.
5. MRTM2 model (#31) added the Relative Error output parameter

Monday, July 29, 2019

FireVoxel Build 304 is released.

1. Dynamic Experiment dialog:  implemented a model-specific Input Function panel naming. When model is changed a proper panel name {Input function, Reference Curve,...} are displayed.

2. Restored the "Process Single curve" from the main menu without the need to create a document.

3. Restored the MRTM2 model:












4.  Rotate Volume UI parameters are now remembered between the calls.

Tuesday, July 23, 2019

Build 303C is released.

1. Transform>Rotate and Create New : corrected the naming of the 1st layer.
2. Corrected the Defect in LayerControl:Save ALL.  Now the folder is allow to have a dash "-" in it.

Monday, July 22, 2019

FireVoxel Build 303B is released.

1. Transform>Rotate Ortho  : fixed the defect with the naming of the 1st layer.
2. Enabled the Progress bar inside the  Transform>Rotate Ortho
3. Added extra diagnostics to the intermittent Save All defect.
Build 303 is released.

1. Provided 5 research branches for FLEXR deformable registration algorithm. They all achieve
fairly good registration of about 1.5 mm, but further development is needed to match the state of
the art 0.9 mm on the COPD datasets.

2. Provided BiCal Research dialog with most internal parameters exposed.

Tuesday, April 16, 2019

Build 302 is released.

1. Model 17: IVIM-segmented:  removed the check for non-pysiological fitting parameters, so  no VOID voxels are generated.
2. Implemented a variant of LES-SVD solution that find solution of specified precision.
This greatly accelerates the Jacobi-based parallel solution.
3. Big acceleration in Flow field computation for RGBF.
4. Corrected the Flow field transform to produce an identical interpolated volume for the Identity transform.
5. Improved diagnostic messages for Layers with the different Resolution\Orientation from the Base Layer.
6. Implemented ABT-subtest:  Lung landmark-based registration using GRBF
7. Corrected algorithm for the specified precision LES-SVD solution.
8. Expanded Transfrom>MakeIsotropic function to include option for Target resolution with the dialog.
9. Transform>Rotate Volume:  now rotates the centers of the existing VROIs and approximates the resulting size of the VROIs.
10. Integration of the existing code for large deformation registration : project ReMIND
11. Optimization of the memory and speed for ReMIND.
12. GRBF Dense Field optimization: replace SVD with HouseholderQR for speed. Removed the initial Affine transform alignment,
13. Implemented Key (PET) model 48.
14. Implemented Input Function dispersion in Model 48 which can be used in other models.
15. Enabled MagTrace to work on Real Volumes.

Tuesday, March 26, 2019

FireVoxel Build 301 is released.


1. Fully parallelized the Foerstner Map calculation (for keypoints detection)
2. Corrected Jacobian map calculation for vector fields.
3. Corrected crash when calculating the EDT (Euclidian Distance Transform) in Parallel mode.
4. Corrected the MST optimization so the resulting displacement only resides in the areas
permitted by the Source ROI mask.
5. Processed a problematic case for Monkey->Reference registration.  Use Average (not PCA) to accumulate.  Use 3vox Rad in URAL gradients. Then following:





Pre-1

Post-1
6.  Expanded Tissue attribute structure to accommodate up 16 values.
7. Introduced FVX document v9.  Provided backward compatibility
for FVXv8.
8. Tissue Properties (such as T1 for ROI) are now save as part of the FVX file.
9. Eliminated legacy FDX_Text() dialog support,  Microsoft corrected the DDX_Text bug
for "double" fields.

Sunday, March 17, 2019

FireVoxel Build 300 is released.

1. Implemented corrected Optimum Location calculation in the 3-D Euclidian Distance Transform.
2. Implemented capability for each Dynamic Model to restrict allowed Concentration Conversions to the specified subset.
3. Dialog Parametric Maps calculation:  presently selected Tissue and Input Function concentration conversions are displayed.

4. Dialog Layer Control: "Save ALL" functionality is implemented to Save ALL marked layers to the specified folder in specified RAW format.

Tuesday, March 5, 2019

FireVoxel Build 299 is released.

1.  Corrected FileExists function to work with files >2GB.
2. When loading the *.time file with TE info, the TE info should be in (sec) in *.time file.
At the same time the DICOM header stores that info in (ms), so the proper synchronization
was implemented.
3.  Implemented fully parallel algorithm for "Equlidian Distance Transform over Sampled Function" with the complexity O(n) where  n is the number of voxels. This is an important functional block inside larger Viterbi algorithm inside the Deformable Registration project.
4. Implemented new Model "3. Interleaved 2-state profile".

Sunday, March 3, 2019

FireVoxel Build 298 is released.

1.  Fixed defect in MouseHolder segmentation: segmented subvolumes retain the 4D attributes of the original 4D Volume.
2. Fixed general defect:  when 4D volume with dynamic dimension other than time is transformed, the dynamic coordinates of the transformed volume are now correctly preserved.

Tuesday, February 19, 2019

FireVoxel Build 297 is released.

1. Coded an initial variant of the FLEXR-AutoWarp function.

2. New easy and effective scenario for lung CT segmentation. EdgeWave with the seed, followed up by the F7 (contour fill function). Later on: make a standalone one-step function, with the simple dialog box, option to separate the L\R lungs, and possibly fully auto without specifying the seed.


3. Extended the document comparison function to include the Vrois comparison, with diagnostics.

4. Cleared up ABT subtest for the Foerstner landmarks. Extended Foerstner landmark detection to volumes including ROIs. Included lung+ROI Foerstner landmark detection into ABT.



5. Fixed the defect inside the recently optimized RoiGetNumberOfVoxels function.

6.  Fixed defects inside the SegmentMouseHolder function.
7.  SegmentMouseHolder function:  all output segmented subvolumes are identical size now.
8. Added ABT facility to verify several (all) opened documents.
9.  Added ABT subtest for Mouse Holder Segmentation

Tuesday, February 5, 2019

FireVoxel Build 296 is released.

1. Re-engineered the structure of all Dynamic Framework subtests of the ABT. Now unlimited number of subtests is allowed for all models. Any source format is allowed :
{ FVX,MIDAS,DICOM }.  Added a new subtest for Tofts (Model8) from DICOM.

2.  Continue work on the ParSVD (1-sided Jacobi SVD/parallel). Replace the NR-SVD in the VolumeTransform function, fixed uncovered defects in ParSVD.

3.  Added an ABT subtest for the Volume4D->PCA function.

4. Use ParSVD engine inside the Vol4D_PCA function.

5. Replace and Unified all the instances of the SVD usage to a  ParSVD (1SJA) function.
This excludes the underdetermined systems.

6. String consolidation to the module-specific string tables.

Tuesday, January 15, 2019

FireVoxel Build 295 is released.

1. FLEXR project : Implemented the Minimum Spanning Tree  for the part-based model derived from the set of Foerstner landmarks.
2.  FLEXR project :  implemented label optimization algorithm on the MST.
3. Added an interna "Current Working Directory" to UserInterfaceOptions, independent from TempDir.
4.  Corrected loading defect of COPD files (ANALYZE) from dir-lab
5. Implemented loading of the landmarks from COPD datasets.

6.  Implemented the Gaussian Radial Basis Function landmark matching (without regularization)
7. Integrated Eigen bsdSvd() procedure for substantial precision improvement.

8. Integrater GRBF into the general landmark workflow. Implemented FlowField reslice.
Tested GRBF on COPD1 dataset with 300 landmarks (Gauss RBF Sigma = 30 mm)

Exhale (Blue) over Inhale (Red)  BEFORE registration

Exhale (green) over Inhale (Red)  AFTER Registration.

Implemented Regularized variant of the GRBF deformation (large sigma = 100mm, lambda=1e-3)

AFTER (left)  vs  BEFORE (right)  same slice Z
9. Corrected DICOM loading defect due to a different internal encoding of the date and daytime inside the DCMTK data structure.

10.  Implemented Gradient Descent and Conjugate Gradient algorithms as a postprocessing for solving the system of Linear equations. Presently used after SVD so that it reduces the RMSE by x10.

11. Corrected defect of CT_BASIC concentration conversion not working in Dynamic Modelling.
12. Introduced an ABT subtest for TOFTS (Model8) on CT.

Friday, January 4, 2019

Build 294B is released.

1. Save Alignment Transform (to *.vtf) - corrected situation when FVX Temporary directory was changed.

2. Added a separate attribute "VTF_Folder" to User Options structure.

3.  Raster Paintbrush dialog:  rename "Parametric Maps" field into "Real Volumes"

2. Updated workflow for registering the Primate Atlas to the selected Monkey reference brain. Changes included:
    a) Using 0-component of the PCA (principal component) conversion of 4D volume.
    b) Using T2-layer as Anatomy for the label map.
    c) Label registration output is generated using Nearest Neighbor interpolation.
    d) Label map is clipped by the provided Atlas Brain Mask.


Thursday, January 3, 2019

FireVoxel 294A is released.

1. Removed the Temporary Folder cleaning upon the FireVoxel exit.  Now User views the Temporary folder size in the User Options dialog box.  User has an option to clean Temporary folder with dedicated button.

Monday, December 17, 2018

FireVoxel 294 is released.

1.  Implemented loading of the superPK files (*.idwc) into the FireVoxel dynamic component module.
2. Implemented an initial version of the MRTM0 model (with the reference function supplied by the superPK).
Reference function loaded from superPK
MRTM0 model fitting starting from time t* (equilibration time).

3. Implemented the MRTM model (using the loaded superPK reference function)


4. "Extract Atlas ROIs":  corrected so that the original Atlas layer is not removed after the operation.

5. Defect correction: In many operations when the layer configuration is modified, so if the floating Layer Control dialog is opened it was not updated leading to the confusion.
6. Extended "Integer Range Parser" support function used in many UI scenarios (f.e. Extract Atlas Layers).


7. Implemented workflow for Affine registration of Primate Atlas to the selected Squirrel Monkey Reference image.


8. Layer control dialog : added information about the number of marked layers. This is helpful when a very large number of layers is present.

9.  When layers are removed and a single layer is left, we set its Alpha to 100%

10.  Added the "Discard Alignment" item to the Transform menu.
11. Added "Save Alignment" function to the Transform menu.

12. UserOptions dialog:  added a general option for all the operations\transform which so far had only the default Interpolation. Now user specifies such "Default Interpolation".  Works including the Transform>Alignment tools.

13. Implemented a general high performance function for converting 4D Volume into array of Principal Component using PCA (resulting in new 4D Volume of components).



Sunday, December 9, 2018

FireVoxel Build 293 is released.

1. NIFTI-4D: Corrected the each frame timing calculation using nim->toffset\nim->dt information.

2. Implemented a custom processing option for DICOM Open Folder dialog box.  Rarely DICOM datasets have SeriesUID unique for each slice, so the option was introduced to parse them correctly.








3.  Defect fixed: In NIFTI file obtained from SPM (type FLOAT64) there were many entries with the value  NotANumber, so this was making Firevoxel crash.  Fixed by changing these values to 0, during the load.

Thursday, November 29, 2018

FireVoxel Build 292 is released.

1.  Several correction and improvements in the Dialog "View TAC"
2.  Major (x10+) acceleration of the saving FVX files with many slices, by improving the saving embedded dicom header structure.  This is done by using new DCMTK functions DcmOutputBufferStream::.
3.  Provided more robust  IsMatchingVolume function (used mainly in ABT).  Problem was that for many 4D volumes, there are one or more dimensions (f.e. time and b-values) with repeating values in the dynamic coordinates.  This introduces randomness in the sorting order of different timepoints, so matching function was often failing without reason.  Addressed randomness by checking against all suitable dynamic coordinates.
4. Restored the ABT subtest and full functionality for the ChestWall\FullBreast segmentation. This was disabled during the upgrade of MagTrace contour tool while constructing the ground truth for the lung segmentation (ISMRM).
5. Implemented the "Display unmarked layers" checkbox inside Layer Control dialog, functionality to display the unmarked entries thus expanding possibilities of working with the Layers.
6. Modified Transform>Translate  and Transform>Rotate function to work on several Marked volumes, while unmarked volumes are stationary.
7. Layer Control dialog:  added  "Mark\Unmark All layer" button.

Wednesday, November 28, 2018

Build 291B is released.

1.  Corrected defects in X-correlation registration dialog
2. Provided individual menu item for the Mouse brain->Atlas registration
3. Provided new functionality to remove a range of dynamic points specified by the User.

Sunday, November 25, 2018

FireVoxel Build 291 is released.

1. AutoFocus 3D: implemented a variant with "af Uniform Scale" option.
2. Implemented 1st version of the Mouse brain (automatically extracted from Multiholder) registration to the standard Atlas.
3.  Corrected binning inside the AutoFocus\MutualInformation registration.
4. Corrected run-away defect with MI_NORM\Affine.




Saturday, October 27, 2018




FireVoxel Build 290 is released.

1.  Fixed error when rasterizing Vector polylines and splines:  now the NULL pen is used so the rasterized boundary is much closer to the vector one.



2. Provided complete re-work of the MagTrace Toolkit:
Added several new image snapping modes, manual modes Alt1,Alt2,Alt3.  Rasterization tools.

3. Added DCMTK functions for loading DICOM headers directly from memory buffer (avoiding the intermediate file creation).  Resulted in x10 loading speedup.

4. Provided an initial version of VIBE4D + GRASP4D hybrid merge function.


FireVoxel Build 289B is released.

1. WM Lesions batch:  corrected defect when NIFTI orientation was not properly written.
     Improved the progress indicator so the name of the currently processed file is displayed.

Friday, October 26, 2018

FireVoxel 289A is released.

WM lesions batch job:  fixed the resolution problem when saving result to .NII file.

Tuesday, October 23, 2018

FireVoxel Build 289 is released.

1. Kidney segmentation FAP:  reduced number of UI parameters.
Adjusted default parameters for good processing of all 6 sets (L+R).

2. Open RAW dialog box:  implemented filter option to open ALL RAW formats (*.im;*.img;*nii;*.nia;*.nii.gz;*.mgh;*.mgz;*.time)

3. New version of Kidney FAP segmentation.

4. Batch processing of FLAIR  WM lesions.

5.  Corrected defect when the resolution of NIFTI saved file turns into (1,1,1)mm

6. RoiStats3D dialog:  added the value of the bin to the info displayed on the MouseMove over the histogram.

Monday, October 22, 2018

1. Kidney segmentation: FAP
Added User constant to extend the height of the kidney bounding box, not exposed on UI.
Effective Bounding box is displayed to the User at the end of procedure to provide feedback.

2.  Completely parallelize multi-slice projections such as MIP.  Added a progress bar since
it takes longer time to display.

3.  Extended Kidney FAP segmentation to include the notion of Collecting System.





Wednesday, October 17, 2018

FireVoxel 288C is released.

1. Kidney segmentation: algorithm modification to remove 99%+ of medulla voxels which accidentally appear on the surface of the kidney.

2.  ROI>Morphology>Inflate\Deflate functionality:  made corrections so the Inflate-Deflate combinations are reversible with the same parameter.  Fixed side-effects in   BrainAtrophy and FLAIR Lesions functions.

Tuesday, October 16, 2018

FireVoxel Build 288A is released.

1 Fixed defect when in KSFAP segmentation there are overlapping voxels 

in the final Cortex vs Medulla masks

Wednesday, October 10, 2018

FireVoxel Build 288 is released.

1.  EdgeWave-2D : implemented a pure 2D function which is very fast, works on a single slice.  It reuses the EdgeWave-3D code.

2. New algorithm for fully automatic MouseHolder segmentation (based on MIP and EdgeWave2D)
3. Implemented automatic rotation of the individual chambers to normal orientation. Youtube video posted.
4.  Implemented UI functions: Close Current Document (All Views)
and Close All Documents.
5. Open Dicom dialog box:  Implemented function to check all Children of the selected item.  Then few undesirable items could be easily unchecked and the rest loaded. Youtube video uploaded.

Thursday, October 4, 2018


FireVoxel Build 287 is released.

1. Implemented the separate volume output for the Rodent Multi-holder segmentation.

2. Implemented EdgeWave Multipass agent for Rodent Multi-holder segmentation.

3. First User version of the MultiHolder segmentation tool with dedicated dialog box
.

Wednesday, October 3, 2018

FireVoxel 286B is released.

1. Fixed the missing top\bottom slices issue in KSFAPv2 and KSFAPv3.

2.  Enabled KSFAPv3 on smaller cropped kidney volumes.

Tuesday, October 2, 2018

FireVoxel Build 286A is released.

Kidney DTI motion correction workflow:  fixed the issue when Mosaic DICOM info is missing so a dialog box pops up
Build 286 is released.

1. Implemented F9 switch between regular projection and MIP projection.
2. Implemented a new workflow KSFAPv3 (kidney segmentation) where User is not required to specify the mid-axial kidney slice and just need to make a bounding rectangle on MIP projection.

Wednesday, September 26, 2018

Build 285 is released.

1. Implemented function and User interface to change the DICOM Tags   Position\Orientation within the headers of loaded Volume.  This requires to view images in 3DSlicer.

2.  Implemented a new workflow for the Kidney motion correction in Mosaic-based DTI exam.
Enabled saving to DICOMs compatible with the 3D Slicer DTI framework.

3.  Optimized the Display Cache internals during the Paint Brush painting.

4.  Provided and ABT subtest for the new DTI kidney motion correction workflow.

5.  Provided a video manual for the new DTI kidney motion correction workflow.
.

Thursday, August 23, 2018

Build 284 is released.

1. Provided backward compatibility Load support for FVX file format V7.
2. New UI function:  MainMenu>Volume>Crop>Crop Current Slice.
3.  Complete re-engineering of internal DICOM representation in Volumtric entities.
4. Number of image in SIEMENS mosaic is automatically determined and initiated
inside the Mosaic-to-volume dialog box.
5.  When document is saved, the names of the individual layers are modified so the Path to
the layer file is removed and only the file title is left.
6.  After performing Mosaic->to->Volume operation for DTI image, save to DICOM, reload DICOM: the volumes are correctly loaded with full diffusion info preserved.
7.  After performing Mosaic->to->Volume operation for DTI image, save to FireVoxel, reload  FireVoxel doccument,  ave to DICOM, reload DICOM: the volumes are correctly loaded with full diffusion info preserved.
8.  Extended Mosaic->Volume function to all layers, including ROIs.  So Multilayer entity is converted properly.
9. Implemented the ABT subtest Dti Mosaic registration mini-workflow
10.  Fixed the issues with saving\loading a single ROI layer to DICOM.

11. OpenDicom dialog:  corrected the preview panel so it works for the ROI images saved in DICOM.


Sunday, August 12, 2018

FireVoxel Build 283E is released.


1. Fixed a glitch when  older FVX file contains and ROI layer without the orientation corresponding to Base layer.  This originated in older versions of FVX when new ROIs missed the proper orientation.  This caused the problem when cropping such multilayer volume using VROI.  Now software warns properly, allows you to proceed and the ImageOrientationPatient is automatically repaired in the problematic layer.

2.  MainMenu>Vector>Enclose Connected components menu command:
     a) If more than 1 component was detected, message is displayed informing about the # of  CCs.
     b) Displayed Slice is changed to the center of the largest created VROI.
     c) Corrected defect: when connected component is withing a single slice, we change the slice               so that the resulting VROIs becomes visible immediately.

3. Fixed defect in Layer Control dialog:  disallowed removing the layers when it results in no layers left.
   
     

Saturday, August 11, 2018

FireVoxel 283D is released.

1.  In Layer Control dialog when doubleclick on the Layer name and edit control shows up:
      a) Enabled immediate focus - so User can start type immediately.
      b) The whole current string is initially selected.
      c) Ctrl+A selection is enabled.

2.  User Interface Options dialog:  introduced new option "Load Dynamic Modelling setting from  FVX". 
      x - loads the setting for all models saved in the FVX file
      o - keeps all current settings, disregards the one from FVX file.

       (This is save as FireVoxel config file between the sessions).

3.  When Vol>Crop>All Layers is activated, the new document is created with the name of Source document +  "_crop".  Before it was the name of current Active layer in the source document.

4.  Vector ROI Properties dialog now remembers if   MM\VOX units were used in the previous instance (within the same FireVoxel session).

5.  Vector ROI Properties dialog box:  added a button and function "Scale Dimensions" by the specified scale.  Resulting Rectangle is cropped by the volume dimensions.

6.  In generic "Specify double value" dialog corrected so that the focus is immediately located inside the data field.

7.  In generic "Specify integer value" dialog corrected so that the focus is immediately located inside the data field.

Thursday, August 9, 2018

FireVoxel 283C is released.

1.  Updated the ConvertMosaicTo3DVolume function and the corresponding UI.
2.  Tested the workflow for motion correction of kidney DTI  2D+t.


Monday, August 6, 2018

FireVoxel Build 283B is released.

1. Removed the FilmView state when working with the single slice volumes.  It is always in Single Slice mode now.

Tuesday, July 24, 2018

FireVoxel  283A is released.

1.  Added the DisplayTransform record to the ZOOMCACHE structure.  This fixes some defects when switching between Film and Slice view and pulling the Zoom from cache.

2.  When new layer is added\created, immediately copy the Display Matrix of the current working layer.  This way the drawing can be done correctly on the newly created layer.

Monday, July 23, 2018

FireVoxel 283 is released.

Expanded Model0 to exactly match the hyperparameters and statistics parameters of the Roi Stats3D dialog box.

Friday, July 20, 2018

FireVoxel Build 282 is released.

Dynamic modelling,  models  #{43,46,47}

1.  Added a hypermarameter:  "Minimal Arterial Delay"
2. When iterating through the Arterial Delay values using the Arterial Delay Delta ensured that
the Max Arterial Delay value is always evaluated for any Delta.

Monday, July 16, 2018




Build 280 is released.

1.  Implemented "Arterial Delay" parameter for Model #43 2CXM.  Fitting residuals can be dropped by half on the test images.







2.  Changed default processing when loading DICOM images with IPP\IOP tags missing.  This allowed to load some volumes as 3D as desired.

3. Implemented new dynamic model "2CFM {vp,ve,Fp,PS} - Gridded Simplex Local Optimization".  This implementation contains the Arterial Delay output parameter.

4.  Fixed defect : when new ROI layer is created from Layer Control dialog box, the ROI slice dicom image position and orientation were not properly initialized.  This resulted in defect when loading the ROI volumes saved as 3D DICOM.

Wednesday, July 11, 2018

FireVoxel Build 279 is released.

1.  Combine and synchronized the Volume viewing pipeline (3D->Screen  affine transform) with the transform used to convert paintbrush screen coordinates into the voxel coordinates.  This fixed the defects with drawing ROI on various projections.

Tuesday, June 26, 2018

FireVoxel 278A is released

1.  First version of the Multiprojection re-alignment tools:  by {vector,sector}

2. Corrected overflow problem in Volume Smoothing\Ridge Segmentation with 15-bit images
 in "Separate Mouse exam problem"

3. Corrected a rare defect when VROI specified on a single slice, used for cropping, result in cropping of 2 slices.

Wednesday, June 20, 2018

FireVoxel  Build 277A is released.


1.  Fixed defect in  Main Menu>ROI>Extract Atlas ROIs

Monday, June 18, 2018

FireVoxel Build 277 is released.



1.  When adding a new layer, check now for the orientation to be the same as the current base layer.
Otherwise, display a warning  but give an option to proceed anyway (f.e. when image originating from MIDAS file and orientation info is not available).

2. Implemented new alignment function under Registration menu.  Having 2 volumes loaded we can now align their centers and rotate it to match their orientation.

3.  Register>Using DICOM tags only was renamed.


FireVoxel 276B is released.

1.  Fixed defect while loading NIFTI files with qfac=1 (LEFT-HANDED orientation)

Tuesday, June 12, 2018

FireVoxel 276A is released.

1.  Corrected a new defect in NIFTI->DICOM orientation conversion code.

2. Added a new function - "Main menu>Volume>Make 0-signal transparent"

Friday, June 8, 2018

Build 276 is released.

1.  Corrected problem with the NIFTI orientation encoding when loading and saving NIFTI files.

Friday, June 1, 2018

FireVoxel Build 275 is released.

1.  First public version of the  Automatic Lung segmentation from GRASP 4D.

Monday, May 28, 2018

1. Implemented fix when the TAC txt file was crashing the "Open Tac as 4D volume" function.
2.  Model #4 - added hyperparameters  {Start,End} to process only the range of points.

Tuesday, May 15, 2018

Build 274 is released.

1. Algorithmic work for Lung GRASP 4D fully automatic segmentation.  Working on 5 cases of Deep+Normal breathing trying to achieve a good result so lung spirometry measurements can be performed.

2.  Fixed the memory leak in Bical function.

3.  Corrected the allocated size of each memory block for Volume slice, so it is no more than required.  It also resulted in smaller system memory use and accurate resource usage reporting.

4.  BiCal with  "Output Field" option now otput "double precision Real" volume.

5.  Fixed defect when volume is converted to isotropic for processing and then back to original resolution, so there are no void voxels on the fringe.

6.  BiCal\EdgeWave front age calculation:  fixed defect occurring in 1-voxel margins of the volume.  This was resulting in unpleasant margin artefacts in BiCal.

7.  Fixed memory leak in DetectRelativeRidge function.

8.  Detected and removed all memory leaks from Lung\Trachea 4D segmentation.

9.  Optimized speed of  MemVol -> SetBox -> (MemVol) function which is the basis of many other
functions.  This reduced the time of Lung segmentation results  construction (not segmentation itself) x3 times.

10.  Parallelized CreateBasicDicomHeader function which is basis of many functions on UI.

Wednesday, May 2, 2018

FireVoxel Build 273 is released.

1. Corrected Multi-modal registration using crosscorrelation measure.

2. Restored the ABT test for Registrations.

3.  NIFTI File Load\Save:  enabled writing the modality name into the "description" field of the
NIFTI header.

4.  ANALYZE file format File Load\Save:  enabled writing the modality name into the "description" field of the NIFTI header.

5.   Enabled NIFTI Save\Load of 64-bit Real volume data.

6.  Implemented corrections to the "Manual\Automatic" Concentration baseline calculations.

7.  Implemented ABT subtest for the Lung\Trachea  4D segmentation

8.  Implemented new Concentration converison method  (S/S0-1)/(CR*T1)

Tuesday, May 1, 2018

Build 272 is released.

1.  Concentration conversion options and dialog: added an option for User to select manual baseline
and specify number of timepoints to skip and to average.

Wednesday, April 25, 2018

Implemented initial prototype of 100% automatic trachea segmentation from Lung MR GRASP 4D.


Saturday, March 24, 2018

Build 271 is released.

1. Added the "3D Processing" option to the  Segment>Detect Bright ridges  dialog box.

2. Implemented "3D Processing" option in the Volume>Smooth  dialog box.

3. VolumeSmooth in 2D:  implemented a pure, fully parallel 2D function.  It is D-times faster,
where D is the diameter of the apperture than the previous version.  D can be quite large  20-50 in
some segmentation scenarios.

4.  Developed morphological segmentation "Unlump ROI" procedure.
Applied to Lungs ROI.  When lungs are segmented, usually both lungs ROI is lumped together and to other small objects.  Unlump procedure runs and then we take 2 largest connected components.



5. Implemented an initial prototype of fully automatic Lung segmentation from MRI
GRASP-4D exam.

6.  Implemented the Volumetric Time Profile dialog.

7.  Implemented the Lung Static split based on   ROI Union algorithm.  Applied the volumetric time profile dialog to it.

















8.  Optimized the VolumeSmooth function in 2D with  Appeture weights = constant.  Used 256-bit AVX2 instructions for array  Multiply\Add

9.  Introduce the Roi Compression switch ON\OFF which can be called withing heavy computation procedure to substantially speed up calculation, without involving Users input into  User Interface Options.

10.  In multiprojection view with the synchronized cursor:  allow now to scroll through time synchroniously.

11. VolumeSmooth function: added the processor test for AVX2 capabilities.

12.  Change to menu item Volume>Change Volume Type function.  Added ROI->to->Integer conversion UI item.

13.  Implemented first prototype of fully automatic trachea segmentation from 4D MRI GRASP.

14.  Added the spirometry measures {FEV1,FVC} to Volumetric profile curve dialog.

15.  Implemented a new scheme to reduce the DICOM header size stored with each slice.  Space reduction is x2.

16. Implemented a single dialog to specify 3 integer values. This serves as the dialog for Lung splitting at the moment.

Thursday, March 15, 2018

Achieved new result in Chest Wall segmentation from GRASP data.

Sunday, March 11, 2018

FireVoxel Build 269D is released.

1.  Texture  Analysis Batch:  fixed defect when disabled layers were processed too.
2. Texture  Analysis Batch:  fixed the text format defect in the results (.17g)
3. Texture  Analysis Batch: Implemented Use Full Range checkbox option


4.  Layer Control dialog:  when adding a new Layer with the resolution different from the base,
the resolutions are displayed and option is offered to proceed and change the new layer resolution
to the base.

Saturday, March 10, 2018

FireVoxel 269C is released

1.  Fixed defect in RoiStats3D\Blob Statistic when blob can contain some void voxels.

2.  Rolled back to 269A and reimplemented changes of 269B.

Thursday, March 8, 2018

1. ROI colume Save to DICOM:  removed the dialog specifying the change of encoded bits.


2. Fixed defect with constructing DICOM  TAG_STUDY_UID when volumes originated from data other than DICOM. This allows outside packages to load volume with all slices.




3. Removed the MainMenu>File>Save DICOM Extended option and merged the functionality with the >Save DICOM function.

4.  Dialog RoiStats3D:  Save Stats - increased the text output precision of real numbers to the full possible precision.

5.   Texture Analysis batch log file: increased the text output precision of real numbers to the full possible precision.


Wednesday, March 7, 2018

Build 269A

1. Fixed the defect when not able to save a ROI to DICOM

Friday, March 2, 2018

FireVoxel Build 269 is released.


1.  Fixed defect in RoiStats3D dialog: when mouse cursor sliding over bin was displaying the
info for a different adjacent bin.

2.  Layer control dialog defect fix:  When User was unchecking non-Active layer, that layer became Disabled but Active.

3.  Fixed defect when  Volume was not loading with "SVD error" message.

4.  Texture Analysis Batch:  corrected the defect so that only Enabled volumes are analyzed.

5.  Fixed defect in  Volume>Convert Integer to Real.  Incorrect volume type was previously produced.

6.  Fixed normalization of the result when computing  Texture Gradient\Texture Edge maps.

7.  Enabled texture analysis batch for Real type volumes.

8. Added the "EMD\SigDiff" checkbox option for using different metrics for the gradient.

9.  Rename the "Texture Analysis Batch" dialog and menu item into "Region Heterogeneity Analysis Batch".

10.  Changed the Histogram calculation logic, so that the Range specified by the User kept as the Histogram range.  This applies both to RoiStats3D and Batch Dialog.

11. Fixed crash defect with Nbins=0, for {RoiStats3D, Heterogeneity Analysis Batch }

12. RoiStats3D : Made Histogram parameters preserved between the sessions of dialog.

Monday, February 26, 2018


FireVoxel Build 268 is released.


1. Implemented a workflow for Kidney Segmentation from Arterial Phase v.2.  Only requires a bounding rectangle of kidney on a single slice.












2. Finalized the Texture Analysis Batch workflow, with numerous new options:  Histogram Range,  Exclude Outside Range,  Voxel Weight Type.

3.  Implemented a stand-alone function for Texture Gradient Single Scale.  Replace radio buttons with ComboBox element.

4.  In Kidney Segmentation Workflow, the Kidney Patient side is automatically detected and the corresponding layer name is modified. 


Tuesday, February 20, 2018

FireVoxel  Kidney DCE segmentation workflow from a single Arterial Phase image:


Monday, February 19, 2018

FireVoxel  Build 267 is released.

1.  Texture Analysis dialog:  added parameters  Histogram {NumBin,RangeMin,RangeMax}

2.  Volume Projection settings:  implemented a new option "One Slice base only".  This is a regular projection but only the Base Layer is displayed.

3.  MainMenu>View>New View   :  corrected the defect so all the views are Re-tiled in this operation.

4.  Enabled the MultiView synchronized scroll.

5.  Output header at the top of the  Texture Analysis Log file.

Source folder = E:\000000_TestTexture
Texture radii (mm) = 0,2
Outer layer width (mm) = 3.000000
Inner layer width (mm) = 2.000000
Num inner layers       = 2
Hist num bins          = 100
Hist range min         = 0.000000
Hist range max         = 100000.000000

caseID modality ROI TxtrR[mm] vol[mm3] mean stdev skew kurt entr
Adamr_pre_T1_cr_sc T1 lesion 0.0 9607.181 253.207   57.520   -0.191   -0.645    4.149

Wednesday, February 14, 2018

FireVoxel Build 266 is released.


1.  Fixed defect in Applications>Brain MR>Automatic seed finder when the slice index was changed to a random value after the operation.

2.  Implemented a general operation for all models, so that the Input Function can have entirely different timing from the TAC data.  Integrated with model #32:  FDG 2 compartment Model


FDG 2CM data obtained as TAC (*.txt) from Jean



3. Fixed redundant sorting problem when constructing the DICOM tree (observed on Renal data)


4. Added and ABT unit subtest for the Model 32:  "FDG 2CM"

FireVoxel Build 265 is released.

1.  All EdgeWave-related processing was upgraded to seeds with double float coordinates.

2.  Changed the notion of a single slice VROI so the [Z0,Z1] coordinates are now [z,z+0.99....]

3.  Kidney Segmentation from Arterial Phase (KSFAP):  implemented a single click workflow with the dedicated dialog box.









4.  Produced an initial documentation "KSFAP QuickStart"

5.  Modified the "Save Stats"  file procedure in the RoiStats3D dialog box.

Tuesday, February 6, 2018

Implemented an Automatic  keypoint generator for the deformable registration based on the Texture Edge detector.  It provides results visually comparable to the Foerstner Keypoint detector, so it can become a viable alternative to Foerstner.
Advantage is that it is more studied and optimized in FireVoxel.  Eventually quality of the deformable registration would be compared for two or more keypoint algorithms.

Foerstner - Green squares, URAL texture is red dots.
   


Friday, February 2, 2018

Updated parameters for AutoMatic Kidney segmentation to improve segmentation results:

case Good1  Ctx+Mdl = Whole Kidney masks

Following parameters were changed:
In the first EdgeWave step , the Peel was reduced to 1 mm.



Also insured the Kidney is clipped 2nd time after the Whole Kidney mask is obtained








In the last step of (Bright Ridge Segmentation), the threshold parameter was reduced.



Tuesday, January 30, 2018

FireVoxel Build 264A is released.

1.  Implemented new options for  "User Options" dialog.
User can now specify RAM compression separately for {Integer,Real} volumes.  Configuration is saved and restored in the new FireVoxel sessions.

2.  Foerstner keypoints operator:  isolated the code and restored the correct operation

3.  Implemented ABT subtest for Foerstner Keypoints operation.








4.  when loading the  {.nii} files which only have values {0,1} the resulting volume type is binary.

5.  Fixed  defect when loading ROI as the new volume from RAW files {MIDAS,ANALYZE,NIFTI}
New behavior:
MIDAS:  if the ROI color tag is present - the initial forground color is set to specified tag value.

If tag was not present in MIDAS, or it is {NIFTI,ANALYZE} - the color is picked up from the ROI color generator, and would typically be one of the primary color  {Blue,red} and so on.

6.  Fixed defect:  When orthogonal projections are present, VROI is present, pressing F11 (=Advance to Next Landmark) on the orthogonal projection makes the image and vroi disappear.

7.  Fixed the defect when Synchronized cursor is enable and User constructs VROI and it disappeared for some volumes.

Monday, January 22, 2018

FireVoxel Build 264 is released.

1.  Implemented changes to the Main ToolBar, StatusBar and MainFrame window.  Removed the crash when attempting moving the ToolBar.  ToolBar can be now moved and re-dcoked repeatedly.

2.  Dynamic Modelling module:  performed the editing of all models for {Modality,DD}, modified
some models as specified.

3. Implemented the MCLASS_NONE modality concept.  This allows loading of RAW files  {Nifti,Midas} and then detecting a missing modality and requesting the Modality dialog.
UI Option "Verify RAW Modality" was changed so the dialog always comes up when modality is missing.

4. Fixed the error when saving the INTEGER (16-bit) volume to NIFTI (resulring image was all 0).

5. Fixed an issue when  loading the float32 NIFTI was crashing.  This was due to the presense
of invalid float32 (nand) representing the entire background.  So the new code converts all nand values to 0.

6. Fixed the defect with  "Realice_*.IMG"  Analyze volume.

7.  When loading the image without the modality, the document displayed prior to popping up the Modality dialog box, so User is more aware which modality to choose.  In 4D case, the volume automatically advances to the point of Max Info.

8.  Implemented "FDG Two Compartment model"  {K1,k2,k3,k4}


AIF (carotid artery)


ROI and its fitting.





Wednesday, January 17, 2018

FireVoxel 263A is released.

1.  4D Volume ->  Save .time:   replaced the RAW subtype selection dialog with the standard "DlgListChoice"

2.  Eliminated the redundant attribute "Concentration Required" from all dynamic models.

3.  Fixed the defect, when selecting the Tofts model (without prior loaded Input Functions) the "Load Input Function" (and other related IF buttons) dialog remained disabled.

4.  Changed convention:  when the Model not requiring Input Function is selected, the InputFunction panel buttons now becoming disabled.

5.  Enable modality CT inside the Toft's models (#8,#9)