Search This Blog
Friday, January 31, 2014
Portal Vein Input function (obtained automatically) was compared between:
a) Unregistered DCDI dataset
b) DCDI dataset registered for the whole liver (URAL-measure\Affine Transform)
difference is substantial, in line with the substantial motion across the axial plain which is eliminated as the result of the registration.
a) Unregistered DCDI dataset
b) DCDI dataset registered for the whole liver (URAL-measure\Affine Transform)
difference is substantial, in line with the substantial motion across the axial plain which is eliminated as the result of the registration.
Compared the Portal Vein Input Function derived from
a) Whole registered liver VS.
b) (starting from wholly registered liver) Local registration with the small ROI enveloping the Portal Vein.
There is small gross misregistration (during b.) on the initial timepoints due to the absence of features (contrast edges on early timepoint). But besides that there seems to be little difference between a) and b).
So in the initial DCDI modelling we will restrict to the Whole liver registration only.
a) Whole registered liver VS.
b) (starting from wholly registered liver) Local registration with the small ROI enveloping the Portal Vein.
There is small gross misregistration (during b.) on the initial timepoints due to the absence of features (contrast edges on early timepoint). But besides that there seems to be little difference between a) and b).
So in the initial DCDI modelling we will restrict to the Whole liver registration only.
Thursday, January 30, 2014
Developed a function, when given a 4D volume and an ROI (3D or 4D), FVX advances to timepoint where amount of information (or entropy) over the given ROI is maximum.
This is an extremely valuable function for all 4D registrations. It allows user to automatically select an "Anchor" point for 4D registration.
Prior to this development, every individual workflow required an individually crafted recommendation which timepoint to use as an "anchor" for the registration.
This is an extremely valuable function for all 4D registrations. It allows user to automatically select an "Anchor" point for 4D registration.
Prior to this development, every individual workflow required an individually crafted recommendation which timepoint to use as an "anchor" for the registration.
Re-implementing the frequent {VolumeCropSlice, VolumeCropTimepoint} operations which are frequently used in processing. Idea is to perform it through copying compressed blocks, instead of VolumeGetBox-VolumeSetBox sequence that require Decompress\Compress.
Pair of this function is used extensively in Registrations and in over 70 locations inside the FireVoxel.
Pair of this function is used extensively in Registrations and in over 70 locations inside the FireVoxel.
Wednesday, January 29, 2014
After registering the Liver in 4D, returned back to Axial projection. Specified the Macroseed (green box on the right) over the portal vein. Then ran fully automatic vessel (IDIF) segmenter. (Peak time eps=30 sec, Vessel diam=10mm). Resulting ROI is shown on Axial and Sagittal projections in Blue.
Corresponding Input function is displayed in concentration units as in the Sourbron's paper.
Corresponding Input function is displayed in concentration units as in the Sourbron's paper.
Registration:
Converted DCDI-(Dual Compartment Dual Input) Eovist Liver dataset to the isotropic sagittal. For Registration purposes sagittal projection seems to be more suitable due to the liver motion mostly perpendicularly to the axial plain (is this true?). So it is easier to evaluate registration quality. Additionally, it is easier (at least for unexperienced in-anatomy users) to outline liver ROI in sagittal view (is this true?)
Question: after registration, for the remainder of the workflow, should we return to the axial projection? I assume yes, due to the higher resolution in the axial plain and further presentation of the results.
Converted DCDI-(Dual Compartment Dual Input) Eovist Liver dataset to the isotropic sagittal. For Registration purposes sagittal projection seems to be more suitable due to the liver motion mostly perpendicularly to the axial plain (is this true?). So it is easier to evaluate registration quality. Additionally, it is easier (at least for unexperienced in-anatomy users) to outline liver ROI in sagittal view (is this true?)
Question: after registration, for the remainder of the workflow, should we return to the axial projection? I assume yes, due to the higher resolution in the axial plain and further presentation of the results.
Tuesday, January 28, 2014
Applied automatic Image Derived Input Function segmenter to the Liver Eovist dataset.
Here is example for the aorta. As usual user just have to put the Macroseed around the artery.
The rest is automatic. Default parameters from PET function worked, just vessel diameter was set for 10 mm.
Size of resulting ROI is 2500 voxel, 17.5 cm3. ROI is guaranteed to be a tube in the prevalent Z direction. Tube is continuous - an Interruption on the sagittal view is just due to the tube being curved.
Here is example for the aorta. As usual user just have to put the Macroseed around the artery.
The rest is automatic. Default parameters from PET function worked, just vessel diameter was set for 10 mm.
Size of resulting ROI is 2500 voxel, 17.5 cm3. ROI is guaranteed to be a tube in the prevalent Z direction. Tube is continuous - an Interruption on the sagittal view is just due to the tube being curved.
Monday, January 27, 2014
Finalized the Gamma Variate fit of the arbitrary function. Introduced the "Fit" operation of the TAC inside the RoiStats4D dialog. Other fitting models will be gradually added.
Above example is done with the Integral L2 measure (so would work fine with uneven sampling). Global Optimization was used (A,alpha,beta).
Clearly Gamma Variate does not have enough expressive power due to the 2 factors
http://cds.ismrm.org/protected/11MProceedings/files/816.pdf
Above example is done with the Integral L2 measure (so would work fine with uneven sampling). Global Optimization was used (A,alpha,beta).
Clearly Gamma Variate does not have enough expressive power due to the 2 factors
- Recirculation peak
- Tail asymptomatic value is non-zero
http://cds.ismrm.org/protected/11MProceedings/files/816.pdf
Sunday, January 26, 2014
Integrated DCMTK-based DICOM header as a parallel structure to the existing TREE header design. This will allow completely accurate DICOM file save and phasing out of the legacy DICOM library. Remaining work contains several items with transferring functionality to the DCMTK-header based.
- Display of the DICOM tree in the OpenDicom dialog and DicomInfo dialog. Need a function to list all the present DICOM tags in the header.
- Saving DICOM using the DCMTK-header
- Numerous access functions for the various DICOM tags.
- Create a DCMTK -based "Basic DICOM header" when the volume is loaded from the RAW (non-DICOM) file format.
- Incorporation of DCMTK-header Load\Save into the native FVX file format.
Saturday, January 25, 2014
Friday, January 24, 2014
Thursday, January 23, 2014
Wednesday, January 22, 2014
Tuesday, January 21, 2014
Sunday, January 19, 2014
In all 4D to 3D registrations, user is offered a choice of currently selected timepoint as a Base, or instead determine timepoint of Maximal Information. In PET to Anatomy registration it is always
Maximal Information. Maximal information timepoint is assumed to have the best contrast between tissues and thus provide the best registration quality.
Maximal Information. Maximal information timepoint is assumed to have the best contrast between tissues and thus provide the best registration quality.
In all registrations, 3D and 4D, implemented mechanism of tolerating the memory allocation failure. Since Finetune is highly parallelized at many leveel and pet-thread memory requirements are high, for large images and high core count a memory allocation error occurs. Old versions of FireVoxel either failed or lately the Parallel mechanism was disabled. Now fully parallel veersion is ran, the threads which failed are recorded into "Failed" thread array and then ran in serial mode.
Friday, January 17, 2014
Ensure correct functioning of the Anatomy-constrained (tube) IDIF function on the Brookhaven PET data.
In this example, two Macroseeds left and right are placed by User on the branches of the carotid artery.
Algorithm ran twice with identical (default) parameters.
Positioning of both corresponding ROIs are shown on orthogonal projections.
In this example, two Macroseeds left and right are placed by User on the branches of the carotid artery.
Algorithm ran twice with identical (default) parameters.
Positioning of both corresponding ROIs are shown on orthogonal projections.
Thursday, January 16, 2014
Wednesday, January 15, 2014
Specifically for calculating distance of the fit of 2 curves that are sampled at highly uneven intervals: Implemented the function for L2 integration based distance for two functions F(t) and G(t). Perform exact integration of 2 piecewise linear functions.
Replace the "goodness of the fit" with the new integration function. Old function was simply a sum of difference at sampled timepoints that was giving unjust weight to the beginning of the curve were sampling was much more dense.
Replace the "goodness of the fit" with the new integration function. Old function was simply a sum of difference at sampled timepoints that was giving unjust weight to the beginning of the curve were sampling was much more dense.
Substantially increased quality of the registration of PET to MRI in the new version comparing to the variant of registration used by Anne. This is for the patient MG. (old=left, right=Build 129A).
Also, with the respect to "reconstructing PET with MRI priors", notice a very large angle between MRI and PET in the original data.
And new registration result in multiple projections:
Also, with the respect to "reconstructing PET with MRI priors", notice a very large angle between MRI and PET in the original data.
And new registration result in multiple projections:
Monday, January 13, 2014
Thursday, January 9, 2014
Wednesday, January 8, 2014
Implemented a stand-alone function for Perfusion-IF adjustment using PET-IF. This approach allows to reuse existing Sokoloff model and NOT to introduce custom Sokoloff model, resulting in simplicity. User has an option either to Truncate adjusted IF, or extend by the last constant.
User Saves adjusted IDIF using "Save" button, then loads it as a regular input function into Sokoloff.
User Saves adjusted IDIF using "Save" button, then loads it as a regular input function into Sokoloff.
Tuesday, January 7, 2014
Sokoloff model - Revisited "Delay" fitting parameter. Ensured that when "Max Delay" option = 0 before model calculation, the resulting Delay parameter remains 0 (i.e. optimization is done by K1,k2,k3 only).
Investigated "arrival time" difference issue between Data TAC and Model Curve. This seem to work well now, at least for the PET-derived IDIF.
Investigated "arrival time" difference issue between Data TAC and Model Curve. This seem to work well now, at least for the PET-derived IDIF.
Monday, January 6, 2014
Verified quality of registration of GRASP-4D to PET4D. First timepoint of GRASP is cropped and the regular Applications>PET>Register to Anatomy function is used. Result is below in several projections. PET (in RED) is overlayed on top of GRASP (blue).
Notice substantial (~10 degree) rotation angle between GRASP and PET.
Notice substantial (~10 degree) rotation angle between GRASP and PET.
Saturday, January 4, 2014
Friday, January 3, 2014
FireVoxel Build 128F is released.
1. Implemented initial variant of PET 4D correcction. It is located under MainMenu>Applications>PET>Register 4D (Eliminate motion)
2. In ViewTAC, and RoiStat4D dialog, when the curve is drawn the current Dynamic Index node is marked with the alternative color.
3. Correct "Edge Constrained Smoothing" function so the "Fill Void Voxels" option works correctly. Removed redundant code.
4. Corrected the defect in the Progress indicator "with User interruption" function. This was causing problems that manifested as DICOM loading problems.
5. Corrected the PET-DICOM loading failure that appeared in Build 128D.
6. Fixed the error with PET frame timing due to a simple typo error.
1. Implemented initial variant of PET 4D correcction. It is located under MainMenu>Applications>PET>Register 4D (Eliminate motion)
2. In ViewTAC, and RoiStat4D dialog, when the curve is drawn the current Dynamic Index node is marked with the alternative color.
3. Correct "Edge Constrained Smoothing" function so the "Fill Void Voxels" option works correctly. Removed redundant code.
4. Corrected the defect in the Progress indicator "with User interruption" function. This was causing problems that manifested as DICOM loading problems.
5. Corrected the PET-DICOM loading failure that appeared in Build 128D.
6. Fixed the error with PET frame timing due to a simple typo error.
Thursday, January 2, 2014
Subscribe to:
Posts (Atom)






















