Search This Blog

Friday, April 23, 2021

FireVoxel Build 353 is released.

 

 1. Cardiac Output dialog parameters are now remembered between dialog restarts.

2. Made correction to the Gamma Variate fit and added the Wait Cursor.

3. AutoFocus registration:  when the single Affine Grid transformation is considered(Translation only) then the progress bar is displayed.

4.  AutoFocus final transform: fixed defect when ROI layer is tranformed the Empty color (VOIDVOX32) was incorrect and causing the empty fields getting value 1.

5. Implemented a specialized function to Uncrop kidney volume to the original FOV including ROIs.

         a) Load both Cropped and FFOV documents. 
         b) In FFOV documents unmark all the layers except for the main (base) layer.
         c) In Cropped document unmark all the layers except for the main (base) layer and one significant               non-empty ROI (as in screenshot). 
         d) Make the Cropped document active.
         e) Go to MainMenu>Workflow>CERENE3D>Uncrop Volume command.
         f) Dialog box will appear with all parameters set.  The only parameter that might need changing                  in the future is the Translation X,Y,Z. Default 100mm was sufficient for this example.
         g) Press OK. After some processing all the Layers of Cropped document will be transferred to the             FFOV document.
        h) Result:


 

6. Updated the Cardiac Output-based Input function correction functionality. Added the Gamma Variate fit parameter












7.  When DICOM is loaded with trivial Slope\Intercept (1\0) verification dialog does not appear anymore.


Monday, April 19, 2021

FireVoxel Build 352 is released.

 

 1. Concentration conversion dialog : Updated the parameters in the Signal Baseline panel. Items are grayed if Manual parameter not checked.

2. Gamma variate fit upgrade: provided algorithm improvement to deal when signal starts after long delay.

This works in conjunction with Concentration conversion:

In HUANK case:

User specifies the initial phase:





Gamma variate fit is properly done by skipping specified points and looking for the optimal X0 now.





3.  Gamma Variate curve is now drawn with 0.1 sec steps for more intuitive viewing. Point markers are still shown in original time.





4. Cardiac Output correction dialog box:  when the curve is not loaded all the appropriate UI documents are grayed.

5. Cardiac Output dialog \ Attributes \  opened dialog now titled Blood attributes.


Monday, April 12, 2021

Build 351A is released.

 1. White Matter lesions detection: provided algorithm update for morhological closure of Brain Mask Base. Provided UI dialog field for updating the closure value in mm.

2. RoiStats3D dialog box: when only ROI layer is present the voxel and blob count is now calculated correctly.

3. IDIF function : fixed defect when Isotropic volumes are not processed.

Thursday, April 1, 2021

Build 351 is released.

 1. Implemented initial variant of UI function:  DICOM Tree to Folders.

2. Fixed crash defect in RoiStats3D dialog:  when invoking the Zigalga-threshold. 

3. DICOM Tree to File Folders:  added handlers to when Source and Target folders do not exist,

when size of the free space in the Target folder is not sufficient.

 

Friday, March 26, 2021

FireVoxel 350 is released

 1.  DICOM Deidentification :  with the response from DCMTK forum a direct solution is now possible without creating the temp files.

2.  Fixed crash defect: DlgVROI activated, grayed out and after the document closing was crashing.

3. DICOM Deidentification tool now remembers the last used folder and suggests it.

4. Removed "Close All Document" and "Close Current Document" from the MainMenu>File because they also appear under MainMenu>View.

5. Introduced FireVoxelPHIprofile :  a text file should be residing in FireVoxel application directory that lists all the DICOM tags considered to be a PHI (Protected Health Information).

6. User can view current PHI Profile by choosing MainMenu>DICOM>Show PHI profile.

Wednesday, March 24, 2021

 Build 349 is released.

1. Replace the custom PR_FileCopy function with Windows-based CopyFile.

2.  Modified  "Deidentify DICOM folder" function to work "in-place". User only specifies a folder and files under the folder are modified when de-identified.

3. Under both Main menus moved all DICOM functions under File>DICOM

Friday, March 19, 2021

Build 348B is released.

 1. Model #27: fixed defect when for individual voxels the message would appear "not able to find a linear fit...".

Build 348A is released.

 1. Model #27 Logan Plot: Fixed the hyper parameter mix up defect.

Wednesday, March 17, 2021

Build 348 is released.

 

 1.  Added a warning when *.TIME file is loaded (either with .IM or NIFTI files) and dimensions specified in TIME header are different with ones in individual pixel files.

2. Modified model #27 Logan Plot was modified to better align with the description in PMOD documentation.

3. Modified Model #27 Vt (Logan Plot) to accept reference curves with the timeline different from the image file.

4. VROI dialog: when in "none selected" mode all the buttons are disabled to avoid various crash problems.

Friday, March 12, 2021

Build 347A is released.

 1. VROI dialog box: switch default units back to voxels.

2.  VROI dialog : Restored previous Z-coordinate convention.

3. VROI MainMenu>VROI>Delete All VROIs is now the only function for deletion.

4. VROI dialog box: the changes are preserved on cancel\close the dialog box.

5. VROI dialog box:  added the UNDO button.

6. List All VROIs command now shows a scrollable list of all present VROIs (previously just a plain message box).

Wednesday, March 10, 2021

Build 347 is released.


 1. Implemented Cardiac Output-based input function correction tool. Full UI dialog combined with Cardiac Output measurement tool.

2. VROI selected, VK_F4 opens the RoiStats4D dialog box. The curve is now displayed in color of the selected VROI (instead of fixed Green color).

3. VROI dialog: fixed defect pressing OK button would close dialog and never being able to open again.

4. VROI dialog both OK and CANCEL buttons are gone since they are redundant. You can close VROI dialog the same way as Layer Control dialog, i.e. by clicking the "exit" button

5. VROI file now contains the color attribute for each VROI.   Old VROI files are not supported.

6. Fixed defect in DICOM Tag registration when "Document with this name is present" was incorrectly appearing.

7. Replaced several 2 button question dialogs of type "Press Yes for X, press NO for Y" with the 3 button dialogs containing Cancel button.

8. VROI dialog box: replaced the mm\vox radio button switch with the combo box.


9. VROI dialog: fixed defect that for Z0,Z1 coordinates internal 0-based coordinates were displayed. Now they are 1-based as in User-convention and also matches the info displayed in the status line.

Saturday, February 27, 2021

FireVoxel Build 346 is released.

 

 1. Provided a modeless (non-Modal) version of VROI dialog box. This way VROI dialog can stay open while we do all operations with VROI, including moving and browsing (F11).

2. Changed the Dynamic index convention from [0,Ti-1] -> [1,Ti] to match the other UI convention.

3. Changed the panel from Time to Dynamic Index 

 

 

4. Changed the diagnostics message when the FVX license file is missing.

5.  Show Main Toolbar command is now available from Main Menu when documents are opened.

6. Fixed the issues around the Insert Polyline (freehand) menu items.

7. Fixed defect in "Vector rasterize" when the previous content of the working ROI layer was overdrawn and disappeared.

8. Remove Mainframe>Test menu item from the Release versions.

9. Rasterization functions:  fixed Redraw problem due to parallel access of the ZoomCache.




Monday, February 22, 2021

FireVoxel Build 345E was released.

 1.  List all VROIs:  removed  "visible\invisible" status info.

2.  When VROI is created - it is assigned a default name  "vroi index", where index is the count

of VROIs previously created.

3. Moved VROI>3D to 4D to under MainMenu>ROI.

4. Moved VROI>Optimal zoom to  MainMenu>ROI>Zoom whole extent.

5. Fixed crash in Volume>Noise>Median Noise.

6. When ROI layer is created by any operation its DICOM headers are immediately and automatically minimized.

Monday, February 15, 2021

Build 345D is released.

 1. Corrected Gauss Downscale when the Single slice volume is transformed into single slice.

2. Restored the "diagonal cross" in VROIs, increased transparency.

3. "Create orthogonal projections"  : disallowed creating the repeating redundant projections.

4. In Multilayer entity, after removing one or more layers - the base layer becomes transparent.

Thursday, February 11, 2021

 Build 345C is released.

 1. Transform>Volume Rotation dialog : Added the "Gaussian Downscale" option.







2.  Batch transform using task file:  replaced old interpolation radio buttons with common combo box.




3. Transform using VTF file dialog:  replaced old interpolation radio buttons with common combo box.

 





4. Fixed defect in BiCal batch processing:  when several subfolders of the Source folder were not processed.

Wednesday, February 10, 2021

 FireVoxel Build 345B

1.  Corrected the folder construction in BiCal Batch processing.

Monday, February 8, 2021

Build 345A is released.

1. Concentration conversion dialog\Relaxivity panel:  changed the order of dropdown boxes.

2. Mainframe Menu: Applications > Convert Tac to Concentration - introduce static Tissue Attribute so proper conversion is performed when next curve is loaded.

3. Upgraded the loading of Tac.txt files, so it allows the Title and the Format line.

4. BiCal batch function:   Target folder is required to exist and no attempt to create or clean the Target folder.

5. Cosmetic changes in Concentration Conversion dialog.

6. Concentration conversion: default HCT = 0.

7. PCA decomposition sets synthetic dynamic coordinates now with t=1,2,3,4,5

Friday, January 22, 2021

 Registered 4D CorDiff volume to the last timepoint (echo time) of GreCor volume. Last timepoint was chosen due to the highest contrast between the kidney and surrounding tissues.

Target kidney ROI first need to be constructed on the target (GreCor) either manually or automatically (manual in this example).  No ROI required on source (moving image).  However, registration relied on the fact that the volumes were acquired as part of the same exam so DICOM tags can be used for the initial alignment which is then finetuned by registration procedure.

Rigid registration was used in this example.  However, the volumes have very non-isotropic voxels

(1.5,1.5,7.5) mm, so the assumption of rigidity is very questionable and elastic deformation  may be used instead.

 


 

Optionally, the Target volume was made isotropic (1.5)mm^3.  This way the amount of information lost during the final reslicing is minimized.

Wednesday, January 20, 2021

Build 345 is released.

 

 1. Changed the automatic baseline calculation in the general Signal-to-Concentration conversion function.

2. Reduced internal MAX number of Input Functions to 4 (from 5). This was causing problems and crashes with displaying them, since the Dynamic Experiment dialog has only 4 slots.

3. Implemented the "Cardiac Output Measurement" tool and corresponding dialog.






 

 

 

 

3. Concentration conversion dialog:  implemented the 6--entry long relaxivity table using three dropdown combo boxes.

4. When saving to FVX file format, removed the DICOM tag PatientID from the list of PHI.

5.  Extended DICOM read to include the fix of files with deliimation errors. This resolves the load of the problematic PET file.


Wednesday, January 13, 2021

Build 344A is released.

 1. Implemented DICOM loader extension for files when the logical 3D volumes are intermingled along the time axis.

2. Added ABT subtest for DICOM "Intermingled-load".

Thursday, January 7, 2021

 Prototype workflow for automatic whole kidney and compartamental segmentation on GRE data.


1.  Atlas of the kidney was constructed manually from the Patient (id  PP506).  Last TE timepoint (=30.53 ms) was choosen where the contrast between kidney and surrounding tissue is the maximum


2.  Another patient ( RH.41.L)  GRE dataset was chosen for segmentation.  At the moment we ask User to enclose the kidney with the bounding box in the mid-slice. Again the last TE timepoint (39.36 ms) was chosen to maximize the contrast between kidney and surroundings.

 
3. Internally full 3D bounding box is constructed which encloses the kidney.
 
4. We activate Large Deformation registration of the Atlas into the rough bounding box of the kidney.
 
 

 

5. After registration runs we get the Whole kidney mask and {Cortex,Medulla} masks over the 2nd patient. Note: the target volume was resliced to isotropic 2.08mm^3  to minimize data loss during the reslicing (since the Z-resolution is very coarse 5mm).


 

6.  Same result as above but displayed without Cortex mask.


7. Future improvements:  have better higher resolution Atlas, perhaps even from different protocol.

Have several atlases, match to all and select the best.

Alternatively, only the Whole kidney mask can be registered and then Whole mask can be separated into Cortex and Medulla.  Histogram thresholding is typically not working well for that purpose, so more locally adaptive operator should be used.

8 Below is one such result.  Whole kidney mask was taken from the result above, but then we used Detect Dark Ridges (default parms) to split the Medulla and the remainder is Cortex.





Wednesday, January 6, 2021

 Kidney registration from pCASL data to GRE data.  Last TE point of GRE was selected to draw ROI due to a better contrast with surrounding tissues. Then pCASL was registered using initial DICOM tag alignment with further Rigid registration using Mutual Info.

Each kidney has to be done separately at the moment, but a single click workflow for both kidneys is possible.

Three screenshot below demonstrate reegistration results:

a) GRE  ROI overlaid on top of the registed pCASL volume.


 

b) pCASL (in green) overlaid transparently over GRE (red)


c) Separately, GRE was turned into isotropic  2.08 mm^3 to minimize pCASL information loss during reslicing, then same registration was performed.



Monday, January 4, 2021

Build 344 is released.

  1. FLEXR3D registration : fixed defect in final layer construction was causing a crash.

2. Fixed the "invalid units" defect when output ADC model mm^2/sec. Now displayed properly.

3. Implemented functions for swapping Transparent (VOID) value <-> User Specified value.





4. Fixed defect: Volume Redraw cache  was relying on a simplistic CheckSum algorithm which sometimes return incorrectly TRUE causing the document Window not to redraw after the operation. Improved the CheckSum function, so old defects are properly redrawn.

5. Model #16  "T2 and T2* mapping":  changed name, some unit options etc.

6. Volume>Crop Current Slice : upgraded function to crop all existing slices. Reused the common code VolCrop function.

 7.   Chest Area  Muscle\FAT measurement: fixed defect "instead of MAT, 343A repeats the fat volume."

 8. Fixed defect when adding new layer (such as ROI) was producing incorrect Vz resolution for the new Layer. This was causing frequent "Resolution mismatch" messages.

9. Fixed the Colormap collapse problem when Color Window Width is set to 1.

 

0. Manually constructed ROIs on Cor-Diff and Cor-GRE cases. 

Cor-GRE case was not Motion-Corrected since it was a breath-hold, but additional Motion-Correction is possible.

Each kidney should be processed separately in this workflow.

 

 1. Performed R2 fitting on kidney from Cor-GRE case


 

2. Performed motion correction of Cor-Diff case and produced and ADC map.

(Motion correction    Workflow>Renal Multislice>Motion Correction (In-Slice) (MI).

 


 

 

 3. Performed registration of Cor-Diff case to  Cor-GRE cases (using FLEXR3D 2mm)

Base Cor-GRE is shown in Green, then overlaid with Cor-Diff (in Red) with 50% transparency to demonstrate registration match.





Saturday, January 2, 2021

 Build 343A is released.

1. Corrected slice # to be 1-based in report generation for "Segment Chest Area Muscle" function.

2. Implemented File>Minimize DICOM Headers function to remove extra info from DICOM and sometimes greatly reduce the resulting FVX file size.

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