This is an old revision of the document!
I'm going to suppose you did the pipeline thing over your MRI images and you already have the study_mri.csv file. The Freesurfer version I'm using makes an estimation of Intracraneal volume and the pipeline scripts put it as EstimatedTotalIntraCranialVol_eTIV into the results file. First do this for a real CSV file:
$ sed 's/;/,/g' ab255_mri.csv > ab255_mri_rc.csv
Let's say we want to get the hippocampus volume (HV) corrected by ICV. Then we must get Left and Right HV and calculate its medium value. HV = 0.5*(HVR+HVL)
Now first step is to fit a straight line for HV vs ICV and the ICV mean value (<ICV>). The adjusted HV will be aHV = HV - b*(ICV-<ICV>), with b as the regression coefficient of HV vs ICV.
Now we need to get the data. Let's try it in R.
x <- read.csv("ab255_mri_rc.csv") x$HV = 0.5*(x$"Right.Hippocampus"+x$"Left.Hippocampus") a <- lm(x$HV~x$"EstimatedTotalIntraCranialVol_eTIV") b=a$coefficients[] x$aHV = x$HV - b*(x$EstimatedTotalIntraCranialVol_eTIV - mean(x$EstimatedTotalIntraCranialVol_eTIV, na.rm=TRUE)) write.csv(x, file="ab255_mri_aHV.csv")
library("ADNIMERGE") a <- lm(adnimerge$Hippocampus~adnimerge$ICV) adnimerge$adj.Hippocampus = adnimerge$Hippocampus - a$coefficients[]*(adnimerge$ICV - mean(adnimerge$ICV, na.rm=T))