User Tools

Site Tools


neuroimagen:bioface_atn

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
neuroimagen:bioface_atn [2022/06/09 09:40]
osotolongo [Métodos no lineales]
neuroimagen:bioface_atn [2022/06/10 09:03]
osotolongo [evaluando FS WMH]
Line 305: Line 305:
 Pues si queremos hacerlo de esta manera, hay basicamente dos maneras. Utilizando las WMH de Freesurfer (T1w) o las calculadas por un soft independiente (T2w). Si tenemos un FLAIR 3D podemos hacerlo de ambas maneras pero en caso contrario.  Pues si queremos hacerlo de esta manera, hay basicamente dos maneras. Utilizando las WMH de Freesurfer (T1w) o las calculadas por un soft independiente (T2w). Si tenemos un FLAIR 3D podemos hacerlo de ambas maneras pero en caso contrario. 
  
-==== evaluando FS WMH ====+==== evaluando WMH ====
  
 Las WMH vienen ya calculadas en el procedimiento //standard// asi que esto deberia ser //painless//. Pero en la DB de ADNIMERGE, no vienen integradas en la tabla de resumen que estamos usando, asi que hay que incluirlas. Pero revisando el procedimiento de integracion (adnimerger) veo que hay que arreglar un poco las //VISCODE// Las WMH vienen ya calculadas en el procedimiento //standard// asi que esto deberia ser //painless//. Pero en la DB de ADNIMERGE, no vienen integradas en la tabla de resumen que estamos usando, asi que hay que incluirlas. Pero revisando el procedimiento de integracion (adnimerger) veo que hay que arreglar un poco las //VISCODE//
Line 374: Line 374:
 dev.off() dev.off()
 </code> </code>
 +++++
  
 +
 +++++ OK, ya puestos también podemos hacerlo con las WMH calculadas desde T2W |
 +<code Rmarkdown>
 +library("e1071")
 +library("caret")
 +library("caTools")
 +library("ADNIMERGE")
 +input_file="input_dataw.csv"
 +output_file="classifier_output_w2.csv"
 +output_fig="classifier_output_hippocampus_w2.ps"
 +pop <- adnimerge[(adnimerge$DX=="Dementia" | adnimerge$DX=="CN"),];
 +ucd_wmh -> ucd_t
 +ucd_t$VISCODE <- ifelse(ucd_t$VISCODE == "scmri", "bl", ucd_t$VISCODE)
 +ucd_t$VISCODE <- ifelse(ucd_t$VISCODE == "sc", "bl", ucd_t$VISCODE)
 +pop <- merge(pop, ucd_t, by=c("RID", "VISCODE"))
 +pop$ND = as.factor(ifelse(pop$DX == "Dementia", 1, 0))
 +xt <- pop[, c("Hippocampus", "Entorhinal", "Ventricles", "MidTemp", "AGE", "ICV", "TOTAL_WMH", "ND")]
 +classifier_cl <- naiveBayes(ND ~ ., data = xt)
 +base <- read.csv(input_file)
 +base$Hippocampus = base$Left.Hippocampus + base$Right.Hippocampus
 +base$Entorhinal = base$lh.entorhinal.GrayVol + base$rh.entorhinal.GrayVol
 +base$Ventricles <- base$Left.Inf.Lat.Vent + base$Right.Inf.Lat.Vent + base$Left.Lateral.Ventricle + base$Right.Lateral.Ventricle
 +base$MidTemp = base$lh.middletemporal.GrayVol + base$rh.middletemporal.GrayVol
 +base$ICV = base$eTIV
 +base$TOTAL_WMH = base$WMH*0.001
 +base$ND <- predict(classifier_cl, newdata = base)
 +base$posterior <- predict(classifier_cl, newdata = base, type="raw")
 +base2e = base[, c("Subject_ID", "ND", "posterior")]
 +write.csv(base2e, file=output_file, row.names=FALSE, quote=FALSE)
 +a <- lm(base$Hippocampus ~ base$ICV)
 +base$aHV = base$Hippocampus - a$coefficients[[2]]*(base$ICV - mean(base$ICV, na.rm=TRUE))
 +postscript(output_fig, width=1024, height=600, bg="white")
 +plot(base$AGE, base$aHV, main = "Hippocampus volume versus Age", xlab="Age", ylab="adjusted HV", pch=19, col=ifelse(base$ND==1,"red","green"))
 +dev.off()
 +a <- lm(base$MidTemp ~ base$ICV)
 +base$aMidTemp = base$MidTemp - a$coefficients[[2]]*(base$ICV - mean(base$ICV, na.rm=TRUE))
 +output_fig="classifier_output_middletemporal_w2.ps"
 +postscript(output_fig, width=1024, height=600, bg="white")
 +plot(base$AGE, base$aMidTemp, main = "Middle temporal cortex volume versus Age", xlab="Age", ylab="adjusted MidTemp", pch=19, col=ifelse(base$ND==1,"red","green"))
 +dev.off()
 +a <- lm(base$Entorhinal ~ base$ICV)
 +base$aEntorhinal = base$Entorhinal - a$coefficients[[2]]*(base$ICV - mean(base$ICV, na.rm=TRUE))
 +output_fig="classifier_output_entorhinal_w2.ps"
 +postscript(output_fig, width=1024, height=600, bg="white")
 +plot(base$AGE, base$aEntorhinal, main = "Entorhinal cortex volume versus Age", xlab="Age", ylab="adjusted Entorhinal", pch=19, col=ifelse(base$ND==1,"red","green"))
 +dev.off()
  
 </code> </code>
 +
 +++++
 +
 +^ no WMH ^ T1w WMH ^ T2w WMH ^
 +| {{ :neuroimagen:bioface_classifier_output_hippocampus.png?400 |}} | {{ :neuroimagen:bioface_classifier_output_hippocampus_w.png?400 |}} | {{ :neuroimagen:bioface_classifier_output_hippocampus_w2.png?400 |}} |
neuroimagen/bioface_atn.txt · Last modified: 2022/06/14 08:22 by osotolongo