El numero de euler da una idea de cuan cerca de una esfera ha quedado la reconstruccion de FS. Si es 2, es que ha ido perfecto.
[osotolongo@brick03 ~]$ for x in `ls -d /nas/data/subjects/bioface_*`; do len=$(mris_euler_number ${x}/surf/lh.inflated 2>&1 | grep "euler" | awk -F"= " '{print $4}' | awk -F" -->" '{print $1}'); ren=$(mris_euler_number ${x}/surf/rh.inflated 2>&1 | grep "euler" | awk -F"= " '{print $4}' | awk -F" -->" '{print $1}'); s=$(echo ${x} | awk -F"/" '{print $5}'); echo "${s}, ${len}, ${ren}"; done
Pero como QC es engañoso porque solo nos dice si FS pudo hacer el inflate correctamente.
https://github.com/ntraut/QCApp
Es muy sencillo de ejecutar,
[osotolongo@brick03 QCApp]$ java -Djava.awt.headless=true -jar target/QCApp-0.0.1-SNAPSHOT.jar target/config/FreeSurfer.xml /nas/data/subjects/facehbi_0112
y crea un nuevo directorio qc con imagenes correspondientes a cortes coronal, axial y sagital de la imagen original, el cerebro y la segmentacion,
$ ls /nas/data/subjects/facehbi_0112/qc/ aseg.X.png aseg.Y.png aseg.Z.png brain.X.png brain.Y.png brain.Z.png orig.X.png orig.Y.png orig.Z.png
A esto le puedo añadir un archivo html sencillo que me muestre las imagenes,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>untitled</title> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <meta name="generator" content="Geany 1.37.1" /> </head> <body> <table> <tr> <td><img src="orig.X.png" alt="orig.X"></td> <td><img src="orig.Y.png" alt="orig.Y"></td> <td><img src="orig.Z.png" alt="orig.Z"></td> </tr> <tr> <td><img src="brain.X.png" alt="brain.X"></td> <td><img src="brain.Y.png" alt="brain.Y"></td> <td><img src="brain.Z.png" alt="brain.Z"></td> </tr> <tr> <td><img src="aseg.X.png" alt="aseg.X"></td> <td><img src="aseg.Y.png" alt="aseg.Y"></td> <td><img src="aseg.Z.png" alt="aseg.Z"></td> </tr> </table> </body> </html>
y entonces,