Theta Hat

How to evaluate phantom data

For SNR one needs to determine the expected data projection

$$\bar{Y}=M\lambda$$

where $\lambda$ is the true object (digital reference object, say)
and M is the system matrix. Moreover, one needs the average reconstructed image $\check{\lambda}$ which is the reconstruction of $\bar{Y}$.

To do this, load rodMeasurement extension to observer_tools:

root[] .x loadLibs_rodMeasurement.C
root[] va_data va;
root[] va.parse("/data0/studen/data/imageRec/studies/general/match_harmonized/Fischer_final.cfg")
root[] saveThetaHat(va,i);
#look at an image
root[] TH2D h2
root[] getFesslerImage(h2,va,i);
#get image parameters; i is image, j is rod
root[] SUV(va,i,j);

Draw comparison of phantom predictions and actual data:

root[] .x loadLibs_rodMeasurement.C
root[] va_data va;
root[] va.parse("/data0/studen/data/imageRec/studies/general/match_harmonized/Fischer_final.cfg")
root[] TGraphErrors ge,ge1;
root[] drawEventScan(ge,ge1,va,0,0); 

Draw profiles

root[] TGraph gra[10];
root[] drawProfile(va,i,gra);

Draw SUV

> cd software/build/observer_tools/coinc/r_scripts
> ./drawAll.r -t "SUV mean (1 mm)" -s "setup_um" -f /data0/studen/data/imageRec/studies/setup_um/statOutputForR_v1.txt

The dashed lines are from a file plotSettings.txt where other settings related to drawing are also set. The dashed lines represent expected SUVs from estimations. They are obtained by running:

root[] va_data va;
root[] va.parse("/data0/studen/data/imageRec/studies/general/match_harmonized/Fischer_final.cfg")
root[] SUV(va,i,0);

Draw images

Extract image by setting iscan and isample integer variable. If both are -1, getImage will return an average of 30 images at highest event count (100k). If iscan is set to a number between 0 and 5, the average at corresponding scan point will be drawn. The best is to set scan to [event_scan.cfg][] in Fischer_final.cfg, then iscan will correspond to corresponding number of counts in [event_scan.cfg][]. At each scan point there are probably 30 samples evaluated. By setting isample to a number between 0 and 29, that particular sample is drawn.

root[] TH2D h2
root[] getImage(h2,va,0,"um",iscan,isample)

Configuration files, etc.

Configuration file for va_data is Fischer_final.cfg. The setups are laid out in setup_um_study.in and setup2_um_study.in. They rely on the layout data in setup1000.in and setup2000.in.

links

social