This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
neuroimagen:md_nph [2021/10/15 10:29] osotolongo [Uso] |
neuroimagen:md_nph [2021/10/19 09:04] (current) osotolongo [Uso] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== MD-NPH analisis ====== | ====== MD-NPH analisis ====== | ||
- | //Esto es una idea de Ester Esteban, asi que todo es culpa suya. // | + | //Esto es una idea de Ester Esteban, asi que toda la culpa es suya. // |
Line 45: | Line 45: | ||
asi que todo deberia ser sencillo. | asi que todo deberia ser sencillo. | ||
- | Primero leo la DB del proyecto y por cada unos de las imagenes MD que he llegado | + | Ok. Pero no taaaan sencillo. :-P |
+ | |||
+ | Antes que nada, no voy a sacar el valor medio de toda la imagen MD sino de la porcion correspondiente a la WM. Es decir, que tengo que empezar | ||
+ | |||
+ | <code bash get_wm_mask.sh> | ||
+ | #!/bin/sh | ||
+ | subject=$1 | ||
+ | shift | ||
+ | |||
+ | tmp_dir=$1 | ||
+ | shift | ||
+ | |||
+ | if [ ! -f ${tmp_dir}/ | ||
+ | if [ ! -d ${tmp_dir} ]; then mkdir -p ${tmp_dir}; fi; | ||
+ | tkregister2 --mov $SUBJECTS_DIR/ | ||
+ | fi | ||
+ | if [ ! -f ${tmp_dir}/ | ||
+ | mri_label2vol --seg $SUBJECTS_DIR/ | ||
+ | fi | ||
+ | ${FSLDIR}/ | ||
+ | ${FSLDIR}/ | ||
+ | ${FSLDIR}/ | ||
+ | ~ | ||
+ | </ | ||
+ | |||
+ | {{ : | ||
+ | Pero ojo, que esa mascara esta en espacio nativo T1, asi que tendria que hacer algo como, | ||
+ | |||
+ | <code bash> | ||
+ | antsApplyTransforms -d 3 -i ${tmp_dir}/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | La mascara resultante hay que aplicarla | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | y a esta ultima imagen, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | es a la que hay que sacarle el histograma. | ||
<code perl> | <code perl> | ||
- | foreach my $subject (@dtis){ | + | |
- | my $dti_md = $w_dir.'/' | + | my $order = $ENV{' |
- | if($subject and -e $dti_md){ | + | |
- | my $order = $ENV{' | + | |
my @shist = qx/$order/; | my @shist = qx/$order/; | ||
- | chomp @shist; | ||
- | push @allsums, sum(@shist); | ||
- | $nph{$subject} = max(@shist); | ||
- | } | ||
- | } | ||
</ | </ | ||
- | ahora, el valor para normalizar es el medio de todas las areas, | + | ahora, el valor para normalizar es el numero |
<code perl> | <code perl> | ||
- | my $norm = sum(@allsums)/scalar(@allsums); | + | $order = $ENV{' |
+ | | ||
+ | my @gout = split ' ', $oout; | ||
+ | my $norm = $gout[0]; | ||
</ | </ | ||
- | y saco todo por //STDOUT//, | + | y todo esto se guarda, |
<code perl> | <code perl> | ||
- | print " | + | $nph{$subject}{' |
+ | $nph{$subject}{' | ||
+ | $nph{$subject}{' | ||
+ | </ | ||
+ | |||
+ | para escribirlo luego, | ||
+ | |||
+ | <code perl> | ||
+ | open ODF, "> | ||
+ | print ODF " | ||
foreach my $subject (sort keys %nph){ | foreach my $subject (sort keys %nph){ | ||
- | my $nphv = $nph{$subject}/ | + | my $nphv = $nph{$subject}{' |
- | print " | + | print ODF " |
} | } | ||
+ | close ODF; | ||
</ | </ | ||
Line 83: | Line 131: | ||
<code bash> | <code bash> | ||
- | [osotolongo@brick03 nph]$ ./nph.pl bioface | + | [osotolongo@brick03 nph]$ ./nph.pl bioface |
+ | [osotolongo@brick03 | ||
+ | Subject, | ||
+ | 0002, | ||
+ | 0003, | ||
+ | 0004, | ||
+ | 0005, | ||
+ | 0006, | ||
+ | 0007, | ||
+ | 0008, | ||
+ | 0009, | ||
+ | 0010, | ||
[osotolongo@brick03 nph]$ sed ' | [osotolongo@brick03 nph]$ sed ' | ||
- | [osotolongo@brick03 nph]$ join -t, -j 1 bioface_codes.csv | + | [osotolongo@brick03 nph]$ join -t, -j 1 bioface_codes.csv |
- | [osotolongo@brick03 nph]$ head normalised_peak_height.csv | + | [osotolongo@brick03 nph]$ head nph_sorted.csv |
Subject_ID, | Subject_ID, | ||
- | B002,0.0731249323687369 | + | B002,0.142459141831309 |
- | B003,0.0732767676009448 | + | B003,0.101291664281762 |
- | B004,0.0745456763272544 | + | B004,0.128800261523374 |
- | B005,0.0746812434988687 | + | B005,0.131614509246088 |
- | B006,0.0697899799470258 | + | B006,0.116625745352508 |
- | B007,0.0788675577583173 | + | B007,0.142582104338399 |
- | B008,0.0932810594443464 | + | B008,0.140059946569362 |
- | B009,0.0787428359604322 | + | B009,0.129072904095975 |
- | B010,0.0681414831401963 | + | B010,0.12497310864109 |
</ | </ | ||
**Nota:** Para simplificar he usado //csvsort// de [[https:// | **Nota:** Para simplificar he usado //csvsort// de [[https:// |