Search This Blog

Sunday, December 13, 2020

Build 343 is released.

 

 1. ROI>Morphology> renamed "Split" items into "Unclump perceived Connected Components"

2. ROI>Morphology : implemented Extract Connected Components function.

3. Fixed defect: on 4D volumes ,   “Crop Current Timepoint”, followed by “Crop Current Slice” produced a crash.

4. Implemented UI item : Workflows>CT Lung>Segment Lung 

5. Implemented function and UI item : Workflow>CT lung>Segment Chest area Muscle and Fat.

Saturday, December 12, 2020

Build 342B is released.

 1.  FLEXR3D transform now moves all layers in the final transform - critical for Atlas registration

2. Added R1rho parameter in Model 26.

Tuesday, December 8, 2020

Build 342A is released.

 1. Fixed crash when Radiomics are started without ROI and activating Change button causes crash.

2. Fixed RoiStats3D problem when the Histogram range settings from previous volume where used in a different volume and "All voxels void" message appeared. It resets now to the full range of the new image.

Tuesday, November 10, 2020

Build 342 is released.

 1.  Segment>FLEXR-3D registration functionality does not require the Source ROI anymore.

2. ZNCC (correlation) measure : fixed defect when StdDev was turning negative (-1e-11) and that was causing the measure to return NAND.

3. Implemented UI function to take a folder of FVX files, all  3D, and register them to one of them with ROI present and make a single multi-layer entity document (using FLEXR3D)

 Implemented UI function to take a folder of FVX files, all  3D, and register them to one using DICOM tag functionality.

4. Implemented UI function to take a multi-layer document with all 3D layers, sort it by time and make a single 4D volume.

5. 3. Implemented UI function to take a folder of FVX files, all  3D, and register them to one of them with ROI present and make a single multi-layer entity document (using DICOM Tag registration)

6. Code: consolidated all appearancess of Gridded Amoeba\Simplex optimization into easy to call single function. This affected many Dynamic Models and led to a significant code reduction.

7. Fixed defect win Spline->polyline conversion, when an empty polyline was returned

8. Extended GlobalOptimization function to include relative Cost Eps threshold as the additional stopping condition.

9. Corrected "Split Multiframe DICOM" function so it is possible to load the US multiframe.

10. Correction: in case of improper DICOM volume missing the Image patient Orientation it was failing to save to Image formats such as MIDAS.

11. Fixed defect when "MIP Projection snapshot" resulting image had incorrect orientation and Orientation markers were incorrectly displayed.

12. Expanded 1st order statistics value panel so longer numbers fit properly now.

13. RoiStats3D dialog:  changed output of real values to scientific notation.

14.  "ROI>Threshsold to ROI" when both thresholds are negative and REAL volume is fixed.

Monday, November 2, 2020

Build 341 is released.

 1 Fixed crash when 3D volume is loaded from MIDAS and cropping is attempted.

2. EdgeWave: fixed defect when output mask is created as INTEGER volume. This was happening when Competetive Growth option was checked.  Added and ABT subtest to cover that situation.

3. Major rework of the IDIF parameter dialog.

4. Fixed defect : When Reset Projection for this View is called current slice is now properly reset to the Mid-slice of the original volume.

5. Code: consolidate all code for invoking notepad.exe

6. Open DICOM dialog: compare tags functions now outputs the info into file and displays notepad.exe.

7. EdgeWave Brain segmentation workflows:  Changed default option to No Competetive Growth. This is due to recently discovered problem of multitude of small connected components (after Peel) which prevent a proper regrowth into gyri.

8.  When Volume>Transform function is invoked and it is pure scale (RotX=RotY=RotZ=0), then we properly scale any present VROIs.

9.IDIF workflow: fixed the tracking map appearing in gray first and then switching to color.

10.  Segment -> Sagittal Brain... (or another tool from this group):  now slice is not switched when the seed is found internally (since the seed is not displayed).

11.  EdgeWave brain basic segmentation workflow:  added a separate  Set Profile UI function. Processing does not invoke the dialog box anymore.


12. Fixed general defect when new raster layer is added as a result of any operation its internal m_position should be set to that of the Main Volume. Otherwise when the MainVolume is removed there is incorrect positioning in object redraw.


13.  WM lesions workflow:  N3 parameter panel:  disabled the Output Bias Field option (for this workflow only).

14.  Bical tool dialog now has the option to Output Real Voxels (default=NO). This is valid when original volume type is INTEGER.

15. Translation tool:  Distance in (mm) shows up automatically during the 

vector construction and while user is changing that vector in any way

(i.e. dragging as a whole or one endpoint only). As soon as User stops
the "distance mm" label disappears automatically.  Display\Hide curve
length flag works as before.
 
16. Rotate by sector is similar,  Angle in degrees is displayed as long as we
are changing the object.
 
17. Fixed defect: When Starting new polyline with the current polyline selected on a different slice prevent from continuing on the current invisible polyline.

18. Fixed defect in drawing the overlaid Grid.

19.  Transform>Rotate Orthogonal...  dialog box option to save the transform into VTF file.







Tuesday, October 27, 2020

Build 340 is released.

  1. Implemented new IDIF algorithm.

2. Implemented new IDIF parameter dialog box.

3. Fixed error in 4D Processing>Dynamic Integral function.

4. Fixed defect with default layer transparency when adding an image layer.

5. Fixed Transform>Rotate by sector defect.

6.  Restored paintbrush working on FilmView.

7. Dynamic Modelling:  fixed the crash when "Process As single curve" is specified but no ROI is provided.  Now the whole volume is processed as one ROI.

8. Dynamic Experiment Single Curve result dialog:  changed layout to more efficient, made time axis display relative time, expanded field width for the Signal axis, added the model name to the title of the dialog.


9. Dynamic Experiment dialog box:  implemented Paste (from Clipboard) for Input function panel.

So Input function displayed in RoiStats4D dialog box can be copied and then pasted to Dynamic experiment Dialog.







10. Radiomics2D:  implemented first order features. Updated corresponding dialog box.

11.  Added the percentile first order features to the RoiStats3D dialog.

12. Implemented ABT subtest for Radiomics2D over {Integer,Real} images.

13. Corrected RoiStats3D dialog in case when it is called for binary images.





Friday, October 23, 2020

Examples of new Image-derived Input function on various PET images:

FDG_PET_dynamic:   Vessel rad [10,10]mm  MaxLength=70mm

FDG_PET_Dynamic Vessel rad [8,8] mm  MaxLength=70mm

tau_PET  Rad [8,8]  MaxLength = 70mm

PIB PET   Rad [8,8]   Max Length=70mm


PIB_PET Rad[6,6] mm Max length=70mm

Butanol PET   Rad [6,6] mm   Max Length=70mm

Butanol PET Rad [8,8] mm  Max length=70mm


Thursday, October 22, 2020

Tuesday, October 20, 2020

 1. Implemented initial version of the Omni-directional IDIF.  

This is a Bi-directional tracking map. Max length in both directions is 70 mm. Color represents the "generation index".  VROI is macroseed in this picture.  Black color corresponds to Miniseed (generation=1).  

 



 

Corresponding IDIF function

 



Wednesday, October 7, 2020

 1. Fixed DICOM load problem.  DICOM file had  *.im extensions (identical to MIDAS). So expanded the list of possible DICOM extensions.

2. Disabled access to Test Menu items in Release builds. 

3. Implemented new Gamma-variate fir Dynamic Model and made it possible to be called directly from RoiStats4D dialog box.

4. Radiomics file output : Added Volume name to each line.

5. Radiomics dialog :  checkbox option to output Tab-delimited file.


6. Radiomic dialog: checkbox option to output Tab-delimited text to Clipboard to paste directly to Excel.

7.  Expanded the check if the file is DICOM. Checks for the DCIM at the byte position 128.

8. When parametric map is calculated, the new layer now inherits the orientation of the working volume.

9. Polyline properties dialog box : fixed defect Line width – Option does not work. 

10.  Alt+1  now works with polyline (in addition to spline) to click-insert a new point.

 

Wednesday, September 30, 2020

Build 338 is released

 1. Code: Replaced FireVoxel custom data types with new VC++ buil-in types {INT8,INT16,INT32,INT64}

2. RoiStats3D dialog - corrected a subtle defect when remembered previous Histogram settings result in "No Valid Voxels" situation with newly loaded image, so it is not possible to open the dialog.  In this situation "Exclude Outside Range" flag is reset to prevent this deadlock.

3. Code :  replaced class function CDrawSet::{CurrentTime,CurrentDynInx} with CDrawView.

4. Fixed defect: unable to construct VROI on some .im and old FVX files.

5. Fixed crash when calling RoiStats3D dialog after "Ambiguous layers present".

6. For RoiStats3D dialog and Radiomics execution: changed how the notepad.exe is called so the FireVoxel does not have to wait till user exits the notepad.

7. ViewTac dialog box: voxel radius is changed now by using standard spin control

to avoid keyboard entering.

8. Fixed crash in Dynamic Experiment : Extrapolate functionality.

9. Added checks for Extrapolated dynamic points to be different from original dynamic points. Exclude repeats from specified extrapolated points.

10. RoiStats4D dialog : fixed defect when it was not possible to change the Curve panel background color.

12. RoiStats4D dialog : removed redundant Info button.

13. Dynamic Framework:  changed output parameter units naming from mm2/s to mm2/sec

14. Removed redundant item MainMenu>4D Processing>Parametric modelling.

15. Output naming consistency in IVIM models #17 and #18.

16. Dialogs RoiStats3D\RoiStats4D, common behavior:  when VROI is present in addition to raster ROI program checks if a single VROI is selected.  If single selected, then a corresponding temporary raster ROI is formed, new ROI layer  is NOT added anymore. If more than one VROI layer is selected, the stop warning is displayed.

17. Fixed naming (ADC->DDC) in Model 21: DWI Stretched exponent.

18. Implemented proposed parameter name changes in models {17,18,19,21,28}

19. Temporarily disabled resizing of the Single Curve dialog box till fully implemented.

20. RoiStats4D dialog: made "Copy (clipboard)" and "Save" function to produce identical format.




Tuesday, September 29, 2020

Build 337C is released.

  1 Radiomics: implemented GLRLM feature class (16 features).

Friday, September 25, 2020

FireVoxel Build 337B is released.

 

 1. Radiomics : GLCM corrections:

    a) Pxplusy array calculation 

    b) HXY1,HXY2 calculation

2. Radiomics  GLCM: Checkerboard (64x64) AND (65X65) step (1) image:

   a)Verified distance=1, directions (0,2), directions(1,3).

   b) Verified identical features for directions 0-3,  1-3

3. Performed comparison to MAZDA radiomics GLCM on abdominal CT  tumor. Obtained a close match on all features except the 2 entropy features. Seems like Mazda is using log10() function in calculations (appears also in its documentation) instead of log2.  Mazda and FVX entropy measures differ by coefficient log2(10). Testing was performed on all angles separately and distances {1,2}

4. Performed correction in DICOM header cloning with different Source and Target geometry.

5. ABT subtest for registration of 3D volumes with different number of slices.


Wednesday, September 23, 2020

Build 337A is released.

 

 1.  Radiomics 2D workflow fixes

       a) ClusterShade twice removed, Cluster tendency inserted

       b)  AngularSecondMoment accumulation bug fixed.

2. RoiStats3D dialog:  added a Variance  calculation to the list of the 1st order features.

3. RoiStats3D dialog: added functionality to define the Range using Percentage of the Spectrum cut-off (Low\High)

4. RoiStats3D dialog:  Features panels more orderly output by dividing feature names and values.


Monday, September 14, 2020

Build 337 is released.

 

 1. Update Histogram Segmentation functions to be compatible with the new {BinWidth,NumBins} duality.

2. Code: consolidated various Histogram segmentation functions.

3. Implemented code for the Radiomics 2nd order functions.

4. Implemented separate setting sets for Integer\Real volume Histogram.  Now setting are remembered and restored between separate Histogram dialog calls and according to the image type.

5. Implemented a complete Radiomics 2D features workflow (GLCM class only)

Friday, September 11, 2020

Build 336A is released.

 1. Code: Updated function  VA_VolCalcRoiInfo  and separated a function VA_VolCalcRoiInfoCutPct for maximum efficiency.

2. Corrected defect CVol::RoiGetPeelProfile

3. Major redesign of the RoiStats3D dialog box to enable  dual {BinWidth, Number of Bins}




Tuesday, September 1, 2020

Build 336 is released.

 1. Minor speed and precision optimizations for the "Model #42 T1 mapping using variable flip angle with B-field".

2. Expanded the MIDAS format to include voxels with different X,Y size. This defect came up when calculating parametric maps with voxels x!=y.

3. Removed the Skip current time option from Volume Smooth dialog and corresponding API structure.

4. Volume>Smooth function : extended to work on real volumes.

5. Volume>Edge-Constrained smooth function : extended to work on 4D volumes.

6. 4D Multi-echo interpolation function: added the pre-smoothing filter and air thresholding.

7. Volume>Crop>Current Slice now crops all timepoints of the 4D volume (not just the selected one).

8. Enabled and upgraded the Extrapolate mode of dynamic modelling. 

Saturday, August 29, 2020

FireVoxel Build 335B is released.

  1.  Fixed defect: when saving thenloading FVX file the current dynamic models and its hyper-parameters should be restored.

2. Re-implemented the Dynamic model #42 : T1 mapping using variable flip angle with B-field. Provided 2 optional solutions for the user:  Linearized (fast) and Global (precise)

Wednesday, August 26, 2020

Build 335A is released.

 

1. DrawCurve panel component : fixed defect when drawing curve with repeating X-coordinates.

2. Multi-echo volume folding : corrected T2*:=0  when the curve is increasing and can not be modelled by decay.

3. FVXDCM_DC : GetSingleSliceResolution : corrected defect when PixelSpacingX not equal PixelSpacingY.

4. Multi-echo volume folding : Fixed  the volume header error when folding the header.

5. Implemented UI function to removed all dynamic dimensions except Time.

Tuesday, August 11, 2020

Build 335 is released.

 

1. License key file: Extended diagnostic message.

2. Code: move FVXDCM_GetAbsoluteTime function info  FvxDcm module.

3. MagTrace is restricted to  the original projection (0,0,0) for now.

4. Moved Progress Message support functionality into FvxMem.DLL.

5. Restricted MagTrace tool to operate on the original projection only. Added a warning message.

6. SAT\VAT segmentation toll: restricted to Integer volume only. Added a warning message.

7.  UI function: Multiframe DICOM splitting into single slice DICOM files into specified folder.

8. UI function:  "folding" of the 4D multi-echo volume into the single echo TE=0 using T2star fitting.

9. When loading DICOM as a Real Volume (with Rescale\Intercept tags present), recover the RescaleType DICOM attribute if present and display voxel units accordingly.

10. After Loading dicom  Intercept\Slope tags are cleared, since the conversion of data is performed already and the original (before rescale) pixel data is discarded.

11. Added extra Fail diagnostics into FVX document save function.

12. SAT\VAT single slice segmentation:  added a check that a single Spline is required on the selected slice. If found only that spline is rasterized (as opposed to ALL in previous veriions).

13. Fixed positioning defect when moving vector entities incl. VROI as a whole (hold RMB).  Optimized the CDrawObj::MoveHandleTo function.

14. Optimization of { Volume,DICOM} deidentification functions.  If PHI tag is present but value is empty - it is considered absent.

15.Fixed defect :1. Start MagTrace and Esc (without drawing a line) – Crash.

16. Fixed defect:  Rasterize All Splines and Rasterize All Polylines – Both commands do the same.

17. DICOM load : made changes to extra Add\Mul logic with Rescale dialog box.   Changed the DICOMAUTOLOAD structure.

18. Implemented the Multi-Slice abdominal fat segmentation workflow from MagTrace contours on every Nth slice.

 



Monday, August 3, 2020

Build 334 is released.

1. MagTrace defect fix:  when changing slice and restarting MagTrace the contour from the previous slice was restarted and invisbly modified.

2. MagTrace defect fix:  crash when the current spline is exited, deleted and the new spline is started.

Also, includes this fix: Open a document, draw a new spline, delete. Start MagTrace, crash.


3.  MagTrace defect fix:  crash when pressing Alt+1(add anchor) outside the existing selected spline.

4. MagTrace fix: Copy selected spline (Alt+5) or Copy from adjacent slice and snap - Crash. 

5. MagTrace Overlay Edges UI function: fixed the crash and moved this important function to under the Test Menu.  It is used to explain the results of Edge snapping during the regular MagTrace processing. The EdgeMap is upgraded to double Real values now.

6. VolSetBox\VolSetSlice functions: added support for 16->64 bit conversion. 

7. Fixed and extended the Rasterization issues:
Toolbar button : Rasterize selected vector entities
But also under MainMenu>Vector> there are
4 commands:
Rasterize selection
Rasterize All Splines
Rasterize All Polylines
Rasterize All VROIs

8. Added duplicate commands {Construct vector ROI,Construct vector Polygon} accessible through the MainMenu>Vector.

9. MagTrace dialog: updated the dialog title and the names of some parameters.

10. Updated the title of Polygon\Spline properties dialog.

11.  Polygon\Spline drawing : enabled alpha filling mode with variable opacity by switching to Gdiplus engine.  Fixed various issues related to "close contour" option and filling.
 
12. Code:  reduced and simplified m_position usage in entities.  
13. Polyline\Spline dialog:  when properties are changed the entity redraws immediately with the new settings without the need to close dialog box.

14. Improved Hermite spline construction when the contour is closed by correcting the Tangent calculation.