Search This Blog

Wednesday, April 8, 2015

Implemented fully automatic Cortex-Medulla segmentation from registered 4D kidney.
Notice how accurately collecting system is excluded

Ensemble 4D registration substantially outperforms the "Radial" and "Serial" methods (on kidney 4D FLASH data)

Kidney Mask on the base (anchor) timepoitn

Pre-contrast timepoint registered using Radial

Pre-contrast timepoint registered using Ensemble

Tuesday, April 7, 2015

Fixed a major FireVoxel-wide DICOM error.  When encountering the DICOM tag of VR_TM type, the .Fractions (=microseconds) field was incorrectly converted to string when the number of digits in .Fractions was <6.  Fix was to pad the Fractions with 0s to contain 6 digits corresponding to microseconds.  This might have affected all the 4D volumes.

Monday, April 6, 2015

Improved and simplified the "Load Siblings with Descendants" function of the DICOM dialog.
If composite series are detected, user is asked if the composite series have to be included.
Button name is simplified to "Load Siblings".
Fixed the "DICOM subtree copy" defect.  When several series of the 4D study have identical filename in the original subfolders (very unusual situation), the copy function would fail by blindly overwriting them.  Fixed now by creating individual subfolders.
Confusing DICOM situation in Renal FLASH 4D:
Relevant DYNAMIC series seem to be present TWICE.  First  RENAL_PERF_DYN (outlined in RED 22 timepoints),  second time COMP_RENAL_PERF  (outlined in BLUE another timepoints).
Actual times are identical between those series, so this confuses FireVoxel when trying to load the with the simple "Load siblings".  Workarounds are possible presently (either by checking only required series, or just by "Load Range" for COMP_RENAL_PERF).

But which one should be used?   First one RENAL_PERF_DYN can be combined with RENAL_PERF_5_MEASURES  making a longer dynamic dataset of 27 timepoints.

Should anything be done about this now?

Wednesday, March 25, 2015

Hyperspectral image (2D+Spectral dimension) was loaded.
Entire spectrum for each pixel was considered as a "Spectrum Curve".

Original image and a representative spectrum for the specified pixel

Entire population of pixels was clustered (using fixed number of cluster=7) so that all the Curves within cluster are similar to each other and different between clusters.
labeled map of clusters (7 clusters = 7 colors)



Each cluster corresponds to a distinct spectrum.  7 clusters were chosen because at 8 clusters the corresponding spectrum curves became less distinct.
Fragment of the original map

Corresponding fragment of the labeled map


RoiStat4D dialog box:  fixed the "inifinite loop while editing the value" issue.
Fixed the defect when on FVX exit the Working directory was cleaned out instead of App\Temp directory.

Tuesday, March 24, 2015

Jeff Zhang's 3C model (JZ3C) was implemented and tested on sample GRASP dataset:


Arterial ROI was automatically selected using IDIF function


AIF-function was extracted 

Segmented kidney


JZ3C model fit (GFR=21.54)

Sunday, March 22, 2015

JZ2C-model (AIF-free) initial implentation:
Original 4D-segmented volume

Corresponding curves for Cortex (red) and Medulla (blue)

JZ2C (AIF-free) model fit. Blue dots - data, Yellow line - fitted curve

Friday, March 20, 2015

GFR modelling fitting is displayed now combined with GFR. This would be common for all models
Updated the menu for Single Kidny GFR calculation:

Wednesday, March 18, 2015

FireVoxel configuration file:  implemented an initial version of Load on App start, Save on App exit.

Tuesday, March 17, 2015

RoiStats3D dialog:  corrected processing when there is a single ROI without the underlying volume. Number of voxels and volume in cm3 is displayed properly.

Monday, March 16, 2015

User Interface Option dialog: introduce the AutoTile option

Implemented several options for the volumetric cursor behavior:  {Regular, Multiprojection Synchronize on Click (=Mango), Multiprojection Synchronize}


"T1-mapping using inversion recovery" parametric model:  combine two models into a single one with an option for {REAL,MODULUS} calculation.
Implemented an automatic subtest for the REAL case.

Saturday, March 14, 2015

T1-mapping:  fixed defects in {RoiStats4D, ViewTac} dialogs when the input signal has negative values.