Search This Blog

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.