Search This Blog

Tuesday, May 9, 2017

1. Moved the new Layer Control Dialog into the default position in UI (i.e. activated on Left Dblclk).
2.  Enabled the  new Layer Control modeless activation.
3.  Old style Laayer Control dialog is now activated by F9.
Several defect corrections with the respect to displaying Image Patient Orientations of various projections.

Friday, May 5, 2017

FireVoxel Build 240 is released.
Fixed the intermittent cross-hair cursor disappearance on all projections.
Improved generation of Orthogoal Views in UI   Orthogonal Views function.  Now it is completely  patient-orientation based.

Wednesday, May 3, 2017

FireVoxel Build 239A is released.
When files are loaded from DICOM, we optionally enforce that "Left Side on the Right" convention is used.  This does not affect FVX files.
Implemented a corresponding entry in User Options.  So the user preference can be saved.

Friday, April 28, 2017

DICOM Orientation Tags are now correctly updated when the volume is transformed by Rotation.

Wednesday, April 26, 2017


Added the Patient Image orientation text information to the Multi-projection view.

Tuesday, April 25, 2017

Corrected orientation of one of the orthogonal views in the MultiView projection UI functionality.

Monday, April 24, 2017

SelectFolder dialog box: replaced the 3rd party implementation with the new Microsoft implementation  CFolderPickerDialog
Initial implementation of the pure REAL data type.   Includes compression,   Get\Set operation, display, etc.

Saturday, April 15, 2017

Dynamic Model dialog:  when press "View" button  in the Input Function panel, software checks if the dynamic image is PT and resets concentration model to "Signal".
Dynamic FrameworkL Fixed the Scaling defect in  "Process ROI as a single TAC" function.


Friday, April 14, 2017

FireVoxel Build 238B is released.
FireVoxel ABT\Dynamic Models subtest:  Added a capability to verify exactly the "Process ROI as single TAC" processing mode.

Thursday, April 13, 2017

Dynamic Parametric modelling module:  fixed the bug in  "Process ROI as a single TAC" function.
This was not model specific, but Toft's model is working now.


Friday, April 7, 2017

FireVoxel Build 238A is released.
4D volumes:   restored the functionality when PageDown and PageUp move 10 timepoints at once.
Finalized details and made corrections to the initial version of the Texture Analysis batch tool.

Tuesday, April 4, 2017

Friday, March 31, 2017

Optimal Window Center\Width calculation:  improved for the case when there is a vast majority of 0-voxels.

Thursday, March 30, 2017

DICOM Tree dialog box:

1.  Fixed the "Series Number range" column for 4D Volumes containing multiple series numbers.
2.  Added "Study Date"  information to the QuickInfo panel.

Wednesday, March 29, 2017

FireVoxel Build 237A is released.
1.  Added   "Help>Display current UI configuration" that display current working parameters.
2. Improvements to USEROPTIONS structure.
3. Removed enchanced instructions option.

Tuesday, March 28, 2017

FireVoxel Build 237 is released.
DICOM Tree volume parsing engine:  completely re-engineered.

DICOM ABT:  added numerous tests significantly expanding the number of datasets\volume
tested with DICOM load.
RoiStats4D: substantially improved time of obtaining the Roi TACs of large images and especially parametric maps.  For PET-4D improvement in speed is 20+.

Friday, March 24, 2017

DICOM Tree construction:   improved the sorting\structure of DICOM tree on   "GE-BRAIN" dataset.
First 3 volumes (Sagittal\Axxial,Coronal) are now presented as completely different volumes.  In previous version they we grouped under the Composite Series.

Wednesday, March 22, 2017

FireVoxel Build 236 is released.
AutoFocus 3D dialog:   added the button in the  "Load Initial Transformation" panel to obtain the initial transformation from the DICOM tags.

Added ROI>Clear ROI outside [Z0,Z1] function that allows only to keep the specified slices of the ROI.

Sunday, March 19, 2017

MainMenu>3D Projection>Mirror  {X,Y,Z}

1.  Fully parallelized for great speed up.
2.  Added a progress bar.
3.  Operation is now applied to all enabled layers  (as controlled in Layer Control Dialog).

Friday, March 17, 2017

Register by DICOM-tags:  enabled that all the Source Document layers are transformed, not just the main layer.

Thursday, March 16, 2017

Wednesday, March 15, 2017

Moved many DICOM functions from FireVoxel.exe module to VolumeAnalyze.dll
Fixed defect in  Frame Compression\Decompression (NNrepeat codec).

Tuesday, March 14, 2017

Loading the CT-4GB electrode image:

When we use the default and usual   {Add=1024}  during the load  we obtain the following image


But the area that has the 1024 values, what is it?  It seems to be the Air....

So instead if during the DICOM load we are using {Add=0}



Sunday, March 12, 2017

CT-4GB (Mouse-electrodes):
a) Fixed the Cropping function
b) Fixed the Save\Load to MIDAS format
c) Fixed the Save\Load to FVX format.
Fixed the RoiStats3D craash defect on the CT-4GB image (mouse\electrodes).

Saturday, March 11, 2017

FilmView:  sped up by x2.5 on the CT-Electrode (4GB) volume.

Added a WaitCursor when Document is displayed in FilmView.
Re-implemented the VolumeHistogram function and OptimalWindowCenter function due to re-engineered DICOM Load.

Thursday, March 9, 2017

4GB CT Dicom case:  optimized memory during the Dicom load and enabled the compression.  This reduced memory consumption by x5 and speed  x2+  during the DICOM load.

Tuesday, March 7, 2017

AutoFocus3D  dialog box:   fixed the Tab order of the controls.
Fixed the PainBrush error when the nothing can be drawn\erased on any timepoint except t0.

Monday, March 6, 2017

Moved the Register4D menu item to under the General Register menu.

1. Registration cross-correlation measure:   Fixed defect when either Source or Target were completely = 0
This was causing an infinite loop during the registration.

2.  Added general warning for all registration measure if the partial result of calculation was NAND.


Sunday, March 5, 2017

Registration of PET-MR exam (from Jean Logan):  

1. PET:  Perform "MainMenu>3D Projection>Mirror voxels"
2. Perform EdgeWave BrainMask detection on Axial  using the "MainMenu>Segment>Axial BrainMask"
3. After selecting the last timepoint of PET as the base for the registration, using the MR+BrainMask as the target, performed registration using the CrossCorrelation measure.





Friday, March 3, 2017

Paintbrush drawing defect:   Fixed the crash when after minute or so of intensive drawing the FVX was crashing.
Fixed the Crash defect:   MagTrace tool starts + Ctrl button.
Concentration Conversion dialog:
When User changes the concentration conversion method,  only the fields related to this active method would become enabled.  The rest of the fields would be grey.


Thursday, March 2, 2017

Sunday, February 26, 2017

Thursday, February 23, 2017

Whole Breast segmentation.  Added a Skin Peel procedure that removes a 5mm layer contacting the Air.  This should eliminate the problem at the following step of FGT\FAT separation.

FireVoxel Buld 233 is released.

Wednesday, February 22, 2017

Fixed cluster of the defects related to K-trans "invalid units" report:

1.  Fixed the Unit validation function to include all the units available in ALL models.
This defect was also present in IVIM, ADC etc in about dozen of models.

2. Fixed the defect when reading the units from .IM file (treat the line end "\n") properly.

Tuesday, February 21, 2017

LayerControl dialog box> Load DICOM button:  extended functionality so several DICOM volumes could be opened WITHOUT closing the OpenDicom dialog and regenerating the DICOM tree.
It is similar to DICOM Document Multi-Load

Tuesday, February 14, 2017

Updated the logic for the Title of the "Full DICOM Info for the selected item" inside the OpenDialog dialog.
Note: an identical dialog also can be called from the LayerControl dialog.  In that context it will display the current Time and Slice index of the volume.

Monday, February 13, 2017

Friday, February 3, 2017

Implemented the DrawViewCache for individual Volume entity that holds the snapshots for all Views (windows) containing the present Volume.  F.e. this is very important for multiprojection views, say 3 projections, would be all repainted from the separate cache.  This speeds up many operations, such as 3D Paintbrush and constructing of VROI on multiprojection views.

This also takes care of reported defects with FilmView and other slice display,

Wednesday, February 1, 2017

Fully parallel implementation of NO-SKIP brush in All orthogonal projections.

Monday, January 30, 2017

Implemented the "NO-SKIP" Paintbrush in volumetric entities.
Implemented  Volume Entity Draw Cache to allow skip the Decompression and Volume->To->Screen transform in Multilayer entities.

Friday, January 27, 2017

Whole Breast Segmentation:  Implemeted the LEFT+RIGHT breast separation:


Thursday, January 26, 2017

Implemented ABT test for the ChestWall\WholeBreast segmentation workflow.

Wednesday, January 25, 2017

Implemented additional cropping specified by the endpoints of the Initial Seed.


MapFit algorithm:
RidgeMap agent was moved into individual slice processing and became 2D for the significant speedup.

Wednesday, January 18, 2017

Re-enabled the "Polyline Properties" dialog which was not coming up when doubleclicked on Polyline,

Monday, January 16, 2017

Chest Wall segmentation:  enabled the detection of the Initial Seed Contour in the Sagittal "Standing" position.  This way no cropping or rotation would be required in the latest clinical image batch.

Thursday, January 12, 2017

Substantial MapFit algorithm improvement:  during the iteration of contour adjustment, the individual point replacement was calculated as "winner-takes-all" from competing displacements.
Now optionally there is an AdaptiveDisplacement mode. F.e. when several displacements have very similar scores ("unsure" situation)  the proposed displacement is normalized by the level of the confidence of the winning displacement.




Tuesday, January 10, 2017

Global Optimization on binary sets:  improved the speed by x3 due to algorithmic improvements.

Thursday, December 22, 2016

Signal truncation in Pulsatility study:

Signal in certain areas with high signal is always truncated by 4095 (=12 bit).  This includes some blood vessels. Is this expected?

F.e. majority of the voxels in the Blue ROI (pictured) have a constant Signal=4095 through entire timespan.


Tuesday, December 20, 2016

Implemented a Multiple-Selection capability inside the DICOM Browser dialog box.
Note:  Selection in this dialog is done by checking the items, not just highlighting them.
CTRL and SHIFT buttons are working.  Items could selected by holding {CTRL,SHIFT} be either
a) clicked by mouse :  CTRL=flip check state,  SHIFT = check state on
b) using Up\Down keyboard key  : SHIFT = check state on.  CTRL is not allowed.


Sunday, December 18, 2016

Completely re-engineered parsing of the DICOM series to extract logically connected volumes.
There will be no more "Inconsistent DiCOM files" messages.



Thursday, December 15, 2016

DICOM Dialog box:  fixed the Copy function when Image Nodes are selected.  It was not copied before when individual image nodes were checked, but worked for the entire series only.

Wednesday, December 14, 2016

CW Segmentation, Initial Seed function:  separated into standalone procedure.

Tuesday, December 13, 2016


CW Chestwall Initial Seed:  Two point segment algorithm:  latest result.

BERNY






FLANY

















MANGY

KOTLY
MUSTY
PRINY
RUTAY
VILEY

HIGGY (GradContNorm+MaxGrad)
















Algorithm notes:

Two stage algorithm:
A.  Non-Incremental evolution.
P.AgentSimilarGrad = false;
P.AgentSimilarSigntr = false;
P.AgentMaxGrad = false;
P.AgentGradContourNormal = true;
P.AgentSimilarGradDir = false;
P.AgentWholeContourSigSimilar = false;
P.AgentMaxEdge = false;
P.AgentSimilarHistSigntr = false;
P.AgentRidgeMap = false;
P.AgentPreferDark = false;
P.CandLogic = VA_CANDLOGIC_BEST_OF_SOFTMAX;
//P.CandLogic = VA_CANDLOGIC_AVERAGE_OF_BEST;
//P.CandLogic = VA_CANDLOGIC_AVERAGE_OF_SOFTMAX;
P.SnapEndsToSides = false; 
P.Subpix = 2;
P.IncEvol = false;
P.MaxNumIter = 1;
P.GradEdgeYneg = true;

B. Same as above, but
P.IncEvol =  true;
P.MaxNumIter = 20;

Friday, December 9, 2016

Chestwall Initial Seed automatic with 2 - User specified points:

Better result, but not a sure thing at all.  Obtained with 2 very different Evolution Radius parameters
MapFit Chestwall Initial Seed:

2-Agent design with AVERAGE_OF_BEST integrator (not SoftMax)
MapFit code:  parallelized code segment that calculates the SoftMax scores for displacement candidates.
Mid-Sagittal  Chestwall Initial Contour Seed:
Very first run using a 2 point segment specified for the user.  This is far from Final.

Thursday, December 8, 2016

Displacement Field Smoothing and   Object Boundary Smoothing:
a) Unified the code to use the same function
b) Completely parallelized the code.
Contour smoothing procedure:  introduced a notion of Tension to reduce the appearance of Attractors in the contours when multitude of point tends to congregate in a small space.
Left:  New procedure     Right:  Old procedure with the attractor (red arrow)
Same as above figure, Zoomed In

Tuesday, December 6, 2016

Chest Wall segmentation:
While cropping the section of the chest to process User is aiding the segmentation at the same time.
Instead of drawing the box User chooses a line segment that specifies the cropping area.  In addition User asked that the segment starts and ends on the Chest Wall boundary as close as possible.
This would help tremendously with the Initial Seed during the MapFit procedure.



Corrected a bug in integrated Chest Wall segmentation function, when AirMask was produced as always empty, thus providing no constraints to the procedure.

Monday, December 5, 2016

Whole Breast segmentation using MapFit:  while EdgeWave seems to be promising on some examples, there are numerous extra challenging situations were EdgeWave would not work
out by itself.

Saturday, December 3, 2016

Some trials of algorithms for making an initial Chest Wall contour on the Mid-Sagittal slice.
A manual rectangular seed placed and EdgeWave ran with parameters   SiLo\SiHi = {0.5,2}  Peel\Grow = {5,10}mm


Tuesday, November 22, 2016

Chest wall\Whole Breast segmentation:  implemented a specialized dialog to cover both.


Monday, November 21, 2016

MapFit\Breast segmentation
Implemented a dual-smoothness concept:

a) Deformation field is smooth so there is a separate smoothing procedure for that
with the constant organ-independent parameters (no UI-parameters).

b) Organ boundary smoothness:  this is the constrained and is smoothed separately.  User sets the parameters defining the smoothness of the resulting organ contour.

Thursday, November 17, 2016


Trying to figure out why resulting contour does not follow intuitive edges and shortcuts the sides.

Thursday, November 10, 2016

ISMRM abstract submitted for "Whole breast segmentation using MapFit".