Search This Blog
Monday, February 29, 2016
"IVIM-Segmented" model:
We try to investigate a suspicious peak in the histogram of the fitted Dp-parameter. This peak occurs at Dp=0.03. In the screenshot below one of such voxels was identified and processed individually.
For finding the Dp component we run the Global Optimization with parameter Dp be restrained to the [0,0.03] interval. So optimal solution is found to be on the borders of that interval, i.e. Dp= 0.03.
Many such voxels within the ROI contiribute to the "suspicious peak".
The problem does not seem to be restricted to the cases of air/tissue partial voxels.
My current guess that this is common to the voxels where signal curve is not monotonous.
Here is anther case with Dp=0.03
Next experiment, I vastly increased the Dp-constraint interval to [0,1] and ran it on the same voxel. Interestingly the result has settled on Dp=0.67 with 3 times lower residual. This indicates that we have found an actual optimum.
CONCLUSION: seems like the presence of the Dp- histogram tail peak is due to the restriction of the Dp=[0,0.03] during the optimization. I will be relaxing this restriction to Dp=[0,1].
My best guess that the "presence of the histogram tail peak" is not related or causing the difference of the results with other software. I use the Global Optimization which is very different from Local Optimization used in other software. To my best knowledge the FireVoxel fits are valid and excellent (judging by the residual). So my best guess is that "other software" is not fitting well enough.
Here is the histogram of resulting Dp values with Dp=[0,1]. Previous strong peak at Dp=0.03 is gone. My best guess: these high values due to some voxels having strongly monoexponential signal
curve.
We can get to the bottom of it if I send a single Signal Curve, along with FireVoxel-calculated parameters and residual. Then curve can be processed in "other software", residuals compared and so on.
We try to investigate a suspicious peak in the histogram of the fitted Dp-parameter. This peak occurs at Dp=0.03. In the screenshot below one of such voxels was identified and processed individually.
![]() |
| Green-data curve. Black - fitted curve. |
Many such voxels within the ROI contiribute to the "suspicious peak".
The problem does not seem to be restricted to the cases of air/tissue partial voxels.
My current guess that this is common to the voxels where signal curve is not monotonous.
Here is anther case with Dp=0.03
Next experiment, I vastly increased the Dp-constraint interval to [0,1] and ran it on the same voxel. Interestingly the result has settled on Dp=0.67 with 3 times lower residual. This indicates that we have found an actual optimum.
![]() |
| Fit with Dp=[0,1] allowence. This settled at Dp=0.67 |
CONCLUSION: seems like the presence of the Dp- histogram tail peak is due to the restriction of the Dp=[0,0.03] during the optimization. I will be relaxing this restriction to Dp=[0,1].
My best guess that the "presence of the histogram tail peak" is not related or causing the difference of the results with other software. I use the Global Optimization which is very different from Local Optimization used in other software. To my best knowledge the FireVoxel fits are valid and excellent (judging by the residual). So my best guess is that "other software" is not fitting well enough.
Here is the histogram of resulting Dp values with Dp=[0,1]. Previous strong peak at Dp=0.03 is gone. My best guess: these high values due to some voxels having strongly monoexponential signal
curve.
We can get to the bottom of it if I send a single Signal Curve, along with FireVoxel-calculated parameters and residual. Then curve can be processed in "other software", residuals compared and so on.
Tuesday, February 23, 2016
Monday, February 22, 2016
BuiCal nonuniformity correction over the set of 12 "Sodium"-images.
We tried to find set of parameters that worked well on every single image.
To precisely evaluate the effect of the correction, 15-20 seeds were precisely and manually constructed on each of the cases. All of the seeds were positioned inside of the ventricles as far as possible from the edge of ventricles and corresponding partial volume voxels.
Non-uniformity is defined as the StdDev of the average seed signal taken over all the seeds.
![]() |
| Seeds are in Red on one of the slices |
We tried to find set of parameters that worked well on every single image.
See the Table of results below for each case
1st column: Case name
2nd Column: original non-uniformity (StdDev over seeds)
3rd Column: processed non-uniformity (StdDev over seeds)
5th column relative improvement of the correction =NUbefore/NUafter-1
Interestingly the results for N-cases where 10 times weaker than the results on "Non-N cases", 6% and 61% improvement correspondingly.
N3 correction was attempted but NU only worsened with all the parameter combinations we tried.
Overall these images are quite challenging for Non-uniformity correction, due to the low resolution and the ventricles being only 3-4 voxels thick. Note the original .NII files contained the resolution of (1,1,1)mm but this does not seem to be the case,
Saturday, February 20, 2016
BiCal on Sodium images: fixed the defect when iterations of BiCal were producing a "better" result.
This was due to the custom scheme of processing the REAL images, when internally they were converted to the 15 bit images and this was conflicting with the internal truncation mechanism after the correction.
This was due to the custom scheme of processing the REAL images, when internally they were converted to the 15 bit images and this was conflicting with the internal truncation mechanism after the correction.
Thursday, February 18, 2016
Wednesday, February 17, 2016
Build 208 is released.
1.
IDIF function: Fixed the "invalid rectangle" defect exhibited on
P1.fvx. This was due to the inflated
initial rectangle to be outside the image bounds.
2.
Implemented an order-of-magnitude CountBits( PBYTE Array,int Start,int End)
function which is frequently used throughout.
3.
Dynamic Modelling (models {0,3}): fixed the user defined parameters for
starting dynamic index to 1 (from 0).
4.
Dynamic Modelling framework fix: When
PET image is processed with "Process ALL", i.e. without the ROI, the
dialog box was popping up asking to specify T1.
5.
Dynamic Modelling: added a test for
Tissue Concentration if the Modality=PET. In this case the Concentration Method
is always set to "SIGNAL" and user is warned. This is done in addition to an earlier
implemented check for the Input Function in PET.
6.
Dynamic Model "Input function correlation": Added a proper handling
of the Tissue concentration. Before it was "Signal only" and created
inconsistencies for the user.
7.
Dialog Layer Operations: fixed crash defect related to the Entity Layer upgrade
to 22 layers in the previous builds.
8.
Fixed the error in reslicing binary volumes (ROIs). Old procedure was always assuming the
FillVoid or Background value is always '0' but this is not correct always. This was detected in "Reslice Target to
Source" option during the Femur registration.
9.
Dynamic Modelling: Input Function
correlation: corrected the situation when the divisor n*XX-X*X or n*YY-Y*Y is
close to zero.
10.
Dedicated menu item was added to the workflow menu with the parameters suited
for processing.
11.
LayerControl dialog: updated behavior so that the Name editing requires
Doubleclick, while "ROI advance to midslice" requires
"Ctrl+Doubleclick".
Tuesday, February 16, 2016
Thursday, February 4, 2016
Wednesday, February 3, 2016
Tuesday, February 2, 2016
Subscribe to:
Posts (Atom)







