Search This Blog

Saturday, August 6, 2016

BiCal functionality:
"Low signal level" parameter has replaced the "Air Threshold" parameter.  The new parameter is quasi-constant ( in [5,10] range) and is independent of the volume content.

Separated the notion of  Air Threshold and the Signal-to-Gradient ration.  They produce separate masks now.  Air-Threshold can be defined very approximately now and completely automatically without User Input, as it is mostly used cosmetically to make the resulting volume to look without Air amplification.  Another component, the areas of the low Signal-to-Gradient ratio are excluded and this improves the Non-Uniformity measures substantially.


For the reference image, BPD-7T, with the same parameters the measures for
Build 223: WM\GM\CSM improved from   Build 224: 0.14\0.16\0.045  down to   0.07\0.14\0.031

ORIGINAL
After BICAL



Wednesday, August 3, 2016

FireVoxel Build 223 is released.
Dynamic Experiment\"ROI as a single TAC" mode:  removed the redundant residual\RMSE combination.
Non-Uniformity measurement reporting:  ensured that the Dark/Bright ratio is always displayed independent from layer order.

Removed the menu item:  "Measure Non-uniformity with paired seeds", since more advanced and easier function is available now.

Tuesday, August 2, 2016

Performed optimization of BiCal algorithm and code. Almost 100% parallelization is achieved.



On the reference Brain-7T volumes execution time was reduced from 202 sec down to 49 sec.

Monday, August 1, 2016

BiCal profiling result (see diagram below):

1.  Starts with Edge detection - virtually 100% parallel.
2.  Then processing start and separate peaks corresponds to iterations
with the increasing degree of Legendre polynomials.
3.  As degree grows, the SVD (= fully parallel) portion grows so the total
core load grows too.

I will be addressing the non-parallelized part discovered with VC++ Profiler.
FireVoxel Build 222 is released.

Sunday, July 31, 2016

Support the "Scale Factor" field in the MIDAS file format.
Fixed Object selection defect:  Staring from empty selection in certain situations a VROI was clicked to select but the "Selection Tracker" failed to show up leaving the User confused.
CT-real (rat) dataset - fixed the defect when it was not possible to place a 2nd landmark anywhere.

Saturday, July 30, 2016

IM file format:  fixed the legacy file load with 8-bit voxels and non-trivial   "minimal value"\"maximum value" fields.

Wednesday, July 27, 2016

Major improvements to BiCal using new SVD-Parallel Jacobi:
a)  Was able to process much higher degrees of the polynomial - 25 from previous max 15.  New
image looks great and better.  Not able to do it in previous versions due to numerical instability of the
20000x20000 matrix solution using old SVD-NumericalRecipes (QR-decomposition).  Jacobi algorithm is simpler but more stable.
b)  At Degree=10 SVD takes 1% of calculation time, at 25 degree it takes 99% of calculation  time.
But now SVD is 100% parallel and scalable with 10x faster than  previous version.
c) On BPD datasets,  results for      WM/GM/CSM improved from  0.14/0.14/0.064  down to 0.10/0.11/0.49 for degree 25.
d) But calculation times become prohibitive at the higher degress ~40 min.

Tuesday, July 26, 2016

Completely re-engineered the CPU Capabilities Info function.  Newest processor and more reliable processing is available now.
Incorporated, debugged and improved the code for SVD: Jacobi One-sided block method.
Speed increase of about x5 times on  1000x1000 matrix comparing to serial version.
Nun-Uniformity Menu:  the Class Separation Measure function now displays the Optimal Threshold too.

Thursday, July 21, 2016

Fully implemented  PET-CT-Atlas\Rodent workflow. Tested on the Rat dataset with 30-region Atlas.
New Layer Control dialog:  implemented
a) Enable All, Disable All buttons
b) ROI operations "Combine" button with a dialog option to remove the Source Operands layers.