2. Each model now displays the number of the required input function in its name
Search This Blog
Saturday, December 30, 2017
Friday, December 29, 2017
Thursday, December 28, 2017
Wednesday, December 27, 2017
Friday, December 22, 2017
Monday, December 18, 2017
FireVoxel Build 260 is released.
1. EdgeWave: merged the EdgeWaveCG (Competitive growth) into the EdgeWave basic function. Added the "CG" option to the EdgeWave dialog box.

2. Fixed the defect of the displaying REAL volumes (detected by the diffusion ADC processing).
3. Fixed very subtle defect in the setting the histogram range inside the RoiStats3D dialog box.
This is due to the Range parameters, when send and retrieved from the MS Dialog Control, change their value for unknown reason (different floating point settings?). So the range has to be expanded
by relative 1e-10 to compensate for that effect.
Friday, December 15, 2017
FireVoxel 259D is released.
1. Correction: restored and improved the logic of determining the optimal Window Center\Width for signal to display mapping. This was detected during testing the Linear Conversion.
2. Enabled Layer Operations > Arithmetic Operations on Real volumes.
Enabled the operation on mixed real-Integer volumes.
1. Correction: restored and improved the logic of determining the optimal Window Center\Width for signal to display mapping. This was detected during testing the Linear Conversion.
2. Enabled Layer Operations > Arithmetic Operations on Real volumes.
Enabled the operation on mixed real-Integer volumes.
Thursday, December 14, 2017
Build 259C is released.
1. Added a warning, in all Dynamic Models with Input Functions: if the IF is a flat zero (after current conversion), it stops. May be indication of incorrectly supplied data.
2. Defect: fixed so that RoiStats3D are now workingnon REAL images 3D/4D.
3. RoiStats3D dialog: Histogram save for the REAl images is working now
Histogram
Max Count:= 43
Signal Count
0.000020 3
0.000060 6
0.000099 6
0.000139 7
0.000179 7
1. Added a warning, in all Dynamic Models with Input Functions: if the IF is a flat zero (after current conversion), it stops. May be indication of incorrectly supplied data.
2. Defect: fixed so that RoiStats3D are now workingnon REAL images 3D/4D.
3. RoiStats3D dialog: Histogram save for the REAl images is working now
Histogram
Max Count:= 43
Signal Count
0.000020 3
0.000060 6
0.000099 6
0.000139 7
0.000179 7
Cortex\Medulla segmentation from the Arterial phase.
After obtaining the Whole Kidney ROI from arterial phase, we run a fully automatic function
"Segment>Detect Bright Ridges" with the following parameters:
Result is the separation of Whole Kidney ROI into Cortex and Medulla
After obtaining the Whole Kidney ROI from arterial phase, we run a fully automatic function"Segment>Detect Bright Ridges" with the following parameters:
Result is the separation of Whole Kidney ROI into Cortex and Medulla
![]() |
| "Good case-1" |
![]() |
| "Bad case -1" |
![]() |
| "Bad case-2" |
Wednesday, December 13, 2017
Disadvantage of "EdgeWave+Blanket" segmentation approach is the need for manually constructed blanket.
Attempt was made to automatically generate a suitable blanket.
a) A seed was placed on the cortex, same seed would be later reused for the final segmentation.
b) EdgeWave CG ran with some general parameters so roughly to capture cortex.
c) Inflate the resulting ROI by 4mm.
d) Fill the contours 2D (F7).
This result we call AutoBlanket and it is called AutoBlanket

Then we clip the image by the Blanket ROI and run EdgeWaveCG second time, we the new parameters to capture the Whole Kidney.
Final Result: AutoBlanket (Red) in the background. Whole Kidney mask is Green (Overlay)
Attempt was made to automatically generate a suitable blanket.
a) A seed was placed on the cortex, same seed would be later reused for the final segmentation.b) EdgeWave CG ran with some general parameters so roughly to capture cortex.
c) Inflate the resulting ROI by 4mm.
d) Fill the contours 2D (F7).
This result we call AutoBlanket and it is called AutoBlanket
![]() |
| "Good Case-1" result of AutoBlanket. |

Then we clip the image by the Blanket ROI and run EdgeWaveCG second time, we the new parameters to capture the Whole Kidney.
Final Result: AutoBlanket (Red) in the background. Whole Kidney mask is Green (Overlay)
Same approach for "Bad Case-2"
![]() |
| "Bad Case-1" Whole Kidney |
![]() |
| "Bad Case-2" Whole Kidney |
Preliminary result for the Whole Kidney ROI from Arterial Phase.
All 3 example uses "EdgeWave with Blanket" functionality with the default parameters.
User only presses Accept button.
User only presses Accept button.
1. Defect: when multilayer entity is Rotated (MainMenu>3D Projection>Rotate & Create new volume"), the layer Enable attributes were not properly transferred.
2. Defect: MainMenu>3D Projection>Rotate Ortho : layer attributes were not transferred from Source to Target.
3. Dynamic Modelling: Warning displayed when Concentration conversion is specified (Tissue and\or IF) and there are less than 3 timepoints are present.
4. Fixed the defect in VolCleanMask. This was detected by malfunctioning "EdgeWave+Blanket" function.
2. Defect: MainMenu>3D Projection>Rotate Ortho : layer attributes were not transferred from Source to Target.
3. Dynamic Modelling: Warning displayed when Concentration conversion is specified (Tissue and\or IF) and there are less than 3 timepoints are present.
4. Fixed the defect in VolCleanMask. This was detected by malfunctioning "EdgeWave+Blanket" function.
Monday, December 11, 2017
1. Fixed the Hang problem while intensely using the Paintbrush over large ROI area for prolonged time 2-3 min.
2. Provided a clearer message when User attempts to use ROI-4D in dynamic modelling (only 3D ROIs are allowed).
3. RoiStats4D dialog with ROI3D: fixed the base Time issue when saving the TAC to .txt file.
4. Layer Drag-n-drop between documents: complete ViewFilter is now correctly copied.
5. Added ABT subtest for FVX: Save-Load-Compare operation.
2. Provided a clearer message when User attempts to use ROI-4D in dynamic modelling (only 3D ROIs are allowed).
3. RoiStats4D dialog with ROI3D: fixed the base Time issue when saving the TAC to .txt file.
4. Layer Drag-n-drop between documents: complete ViewFilter is now correctly copied.
5. Added ABT subtest for FVX: Save-Load-Compare operation.
Wednesday, November 22, 2017
Open DICOM dialog: implemented a feature making it easier to extract the desired series only in convoluted DICOM sets.
User specifies that the Series Description should include the specified substring. Then hit the Refresh button and the reduced tree will appear.
In this particular scenario, User presses "Load 4D" and chooses indices [3,7] to be loaded.
User specifies that the Series Description should include the specified substring. Then hit the Refresh button and the reduced tree will appear.
In this particular scenario, User presses "Load 4D" and chooses indices [3,7] to be loaded.
Tuesday, November 21, 2017
New design in the Open DICOM dialog box.
"Info" button and the corresponding pop-up dialog box were removed.
Instead User has now a "Full Info" checkbox. Old "Quick Info" panel is now can be switched between the old "Quick Info" list of DICOM tags, and full list of DICOM tags.
This makes access much faster and reduces the cluttering.
"Info" button and the corresponding pop-up dialog box were removed.
Instead User has now a "Full Info" checkbox. Old "Quick Info" panel is now can be switched between the old "Quick Info" list of DICOM tags, and full list of DICOM tags.
This makes access much faster and reduces the cluttering.
Monday, November 20, 2017
Tuesday, November 14, 2017
Monday, November 13, 2017
Sunday, November 12, 2017
2CXM model: two variants were implemented - NLLS and LLS
With LLS variant a double integration is performed and the corresponding 4x4 linear system is solved using SVD. Resulting solution is converted to physiological parameters {vp,ve,PS,Fp} and substituted to an analytical solution containing a convolution of two different exponents with the AIF.
Tests were performed on the GRASP-4D with 76 timepoints [0,411] sec.
Small ROI (yellow was chosen)
First we performed the fitting with "ROI as a single TAC".


A good fit was observed RMSE=25. But corresponding parameters contain the negative value, which is not physiological.
Next we performed voxel-by-voxel fitting. This model #45 2CXM-LLS has a single hyperparameter "Exclude invalid", which optionally excludes the unphysiological voxels from the map (defaullt=0 - Include all).
If we turn "Exclude Invalid =1", this would exclude the voxels from the result where one of the key fittted parameters are negarive: this includes transit times {T,Te,Tp} and {vp,ve,PS}
When such invalid voxels are removed, we can see that a minor portion of the ROI resulted in non-negative parameter values.
NLLS variant: gridded Simplex algorithm was used.

Below is the fitting residual comparison for LLS and NLLS.
With LLS variant a double integration is performed and the corresponding 4x4 linear system is solved using SVD. Resulting solution is converted to physiological parameters {vp,ve,PS,Fp} and substituted to an analytical solution containing a convolution of two different exponents with the AIF.
![]() |
| Sample ROI for the test |
Small ROI (yellow was chosen)
First we performed the fitting with "ROI as a single TAC".


A good fit was observed RMSE=25. But corresponding parameters contain the negative value, which is not physiological.
Next we performed voxel-by-voxel fitting. This model #45 2CXM-LLS has a single hyperparameter "Exclude invalid", which optionally excludes the unphysiological voxels from the map (defaullt=0 - Include all).
![]() |
| LLS: Residual distribution [0,100] (include all mode) |
![]() |
| Fitting with unphysiological (invalid) voxels removed. |
When such invalid voxels are removed, we can see that a minor portion of the ROI resulted in non-negative parameter values.
NLLS variant: gridded Simplex algorithm was used.

Below is the fitting residual comparison for LLS and NLLS.
![]() |
| LLS: fit residual distribution [0,100] |
Saturday, November 4, 2017
Friday, November 3, 2017
Monday, October 30, 2017
Saturday, October 28, 2017
Thursday, October 26, 2017
Wednesday, October 25, 2017
Sunday, October 15, 2017
Friday, October 6, 2017
Thursday, October 5, 2017
Tuesday, October 3, 2017
Thursday, September 28, 2017
Tuesday, September 26, 2017
Friday, September 15, 2017
Thursday, September 14, 2017
Tuesday, September 12, 2017
Wednesday, September 6, 2017
Subscribe to:
Posts (Atom)










































