Search This Blog

Tuesday, December 8, 2015

Bigauss with Ratio histogram split:  implemented the rebinning to a smaller #bins=128 to x10 speedup on  FGT segmentation.

Sunday, December 6, 2015

Histogram thresholding with BiGauss using Ratio:  algorithm was implemented.  The goal was to process the FGT-segmentation cases which were not processed by the Z-alg.

First doublechecked that in case of clear peaks the result is as good or close as Z-alg:
case ABRI:  BiGauss with ratio [2,4] finds good separation

Next we attempted to process harder cases where the peaks are much less clearly separated.  In all the experiments below, 10M iterations were used. User can now specify the amount of iterations required.


case ABBR: histogram split


case ABBR:  thresholding segmentation

case BARA: histogram split



case BARA: threshold seg,mentation


case BARZ



case BARZ: threshold segmentation
BiGauss histogram split: added the dialog box to specify Max Number of iterations.
Global optimization: added an optional progress bar.

Sunday, November 29, 2015

Corrected the code responsible for recalling the state and the position of the window on the startup.
Corrected the 3D Paintbrush functionality for volume editing in 3 orthogonal projections.  Now the cursor and the result of the drawing are correctly updated in all projections.

Monday, November 23, 2015

Build 201A is released.

Fixed the defect when the ANALYZE file is loaded as the ROI layer and FireVoxel asks to specify modality even though the main volume already has the modality specified.
Extended the range of file extensions accepted under the "Load RAW" function.
Enabled the "sticky note" prompt for the 1st and last buttons of the main toolbar.
F11 - "Advance to next Landmark" function: corrected the defect so it changes to correct slice and landmark is now visible.
Fixed the defect when the ANALYZE file is loaded as the ROI layer and FireVoxel asks to specify modality even though the main volume already has the modality specified.
Extended the range of file extensions accepted under the "Load RAW" function.
Enabled the "sticky note" prompt for the 1st and last buttons of the main toolbar.
F11 - "Advance to next Landmark" function:  corrected the defect so it changes to correct slice and landmark is now visible.
FireVoxel Build 201 is released.

Reenabled ABT on all subtests.
"Deidentify DICOM folder": fully parallelized and optimized.
Implemented initial version of "Deidentify DICOM folder" User-level function
ABT: SaveDICOM subtest:  Fixed the defect that was introduced during the DICOM API changes during the FGT-segmentation project.
Layer Control Dialog>Load RAW:  enabled loading of the .NII files as a layer.
Global Optimization:  "BiGauss Histogram Split" cost function, changed the calculation arrangement to improve the speed of calculation\convergence about x2.  In interval math, the Square(A)/Square(B)  should be replaced instead with Square(A/B) for better convergence (A,B are intervals).
Global Optimization framework:  improved the memory handling so only a single generation is stored for one split iteration, reducing memory by x2
Improved reporting of Max Total and Max Block memory allocation.
Fixed the thread safety defect in MonoExponential fit function for Global optimization.
Fixed the parallel version of Global Optimization. Now all the Dynamic Framework subtests are checking out OK.
Dialog RoiStats3D: Added a histogram bin tracker feature.  User moves the mouse over the histogram and corresponding bin value and bin count are displayed.
Dialog RoiStats3D:  fixed the defect when the displayed histogram span was set with incompletely taking the ROI info into account.
Main Menu>ROI>Load Vector ROI function.  The last used directory is now remembered within the session. It is also saved into the configuration file between the sessions.
Layer Control dialog:  Implemented basic Copy\Paste volume operation to move the layers between documents.
Implemented and exposed GUI for the additional options of histogram thresholding. Global optimization framework:  full parallelism of the main loop.  This allow the application programmer not to bother with parallelizing the cost function thus greatly simplifying the usage.
Dual peak (bi-modal?) histograms:  implemented an initial version of algorithm that find an optimal representation of histogram as the sum of 2 gaussians.  Global optimization framework is used.
DicomTree load:  added extra diagnostics when composite series are present but some files are missing so the logical structure could not be constructed.
Mouse PET dynamic dataset (from Jean): latest version of FireVoxel loads it without problems as a dynamic  volume (33x26x26  with 48 timepoints)
Dialog RoiStats3D:  integrated algorithm selection tool  {Otsu,Zigalga} for segmenting the Histogram. Developed a prototype of a novel  Histogram  splitting algorithm, comparing to Otsu on the breast
Registration by DICOM-tags only.  Corrected the defect so that the Window\Level settings after the operation are exactly those of the source volume
DICOM loading of the files containing Rescale\Inrtercept information:  Improvement to user interface was done.  Even if the Rescale\Intercept are "trivial" (i.e.  1/0) we now ask the user if the volume has to be loaded as INTEGER or REAL.  In case of REAL user needs to specify additional offset\factor.
Pressing SHIFT button is NOT required anymore during the "Select by rectangular Net" function when mouse is dragged and selects all the objects within the rectangular area.
Change of the workflow for using the Window Level\Width tool.  User now has to press the new  Window Level\Width button on the Toolbar.  This puts FireVoxel into the "Window Level\Width" mode with the appropriate Mouse Cursor change.  Then user can change the Window Level\Width several time.  On Pressing ESC  the cursor changes back to "SELECT" mode. !Important:  This also fixes error when then  View Filter  Window Level was randomly changed after loading the Vector ROI.  This was happening because the Mouse Move command is sent after the closing the Open VROI file dialog.  This Mouse Move was erroneously interpreted as the request to change the Window Level\Width. 
RoiStats 3D could be applied to specified range of values in data. Specify "Value Interval [Start,End]" parameters.
Implemented fully functional version of Breast FGT measuring workflow.
Fixed the defects with the Status bar progress indicator in
VolChangeResolution and VolN3 functions.
Fixed defects with the progress status bar text messages while loading the FVX document.
MainMenu>Volume>Crop with 4D ROI- all layers.  "Enabled" flag is now copying correctly for all the layers in the entity.
Layer Control Dialog> Load DICOM :  now using current UserOptions.LoadDicomFolder settings.
MainMenu>ROI>List All VROIs function now displays the message  "No VROIs are present".

Provided an initial verison of the Breast FGT Batch processing dialog.

Saturday, November 21, 2015

"Deidentify DICOM folder": fully parallelized and optimized the processing reducing the time ffrom 40 min down to 4 min for 32,600 files.

Friday, November 20, 2015

Implemented initial version of "Deidentify DICOM folder" User-level function

Thursday, November 19, 2015

ABT: SaveDICOM subtest:  Fixed the defect that was introduced during the DICOM API changes during the FGT-segmentation project.

Tuesday, November 17, 2015

Layer Control Dialog>Load RAW:  enabled loading of the .NII files as a layer.
Global Optimization:  "BiGauss Histogram Split" cost function, changed the calculation arrangement to improve the speed of calculation\convergence about x2.  In interval math, the
Square(A)/Square(B)  should be replaced instead with Square(A/B) for better convergence (A,B are intervals).
Global Optimization framework:  improved the memory handling so only a single generation is stored for one split iteration, reducing memory by x2

Monday, November 16, 2015

Improved reporting of Max Total and Max Block memory allocation.

Saturday, November 14, 2015

Fixed the thread safety defect in MonoExponential fit function for Global optimization.