Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#!/bin/sh
# the next line restarts using wish \
exec $FSLDIR/bin/tclsh "$0" "$@"
if { [ lindex $argv 0 ] == "" } {
puts "Usage: melodicreport <melodic_output_directory> \[background_image \]"
exit
}
set background 0
if { [ lindex $argv 1 ] != "" } {
set background 1
set bgimage [ lindex $argv 1 ]
}
set S 0.2
catch { [ expr $S ] } errrr
set FSLDIR $env(FSLDIR)
set MD [ lindex $argv 0 ]
catch { exec sh -c "mkdir ${MD}/report" }
if { ! [ file exists ${MD}/melodic_IC.hdr ] || ! [ file exists ${MD}/melodic_IC.img ] } {
puts "No MELODIC output melodic_IC.hdr/.img - exiting."
exit
}
set REPORTFILE ${MD}/report/report.html
set report [ open $REPORTFILE "w" ]
fconfigure $report -buffering none
puts $report "<HTML>
<TITLE>MELODIC Report</TITLE>
<BODY BACKGROUND=\"file:${FSLDIR}/doc/images/fsl-bg.jpg\">
<hr><CENTER>
<H1>MELODIC Report</H1>
$REPORTFILE<br>
[ exec date ]
</CENTER>
<hr><H2>Components:</H2><p>"
set dim [ exec sh -c "${FSLDIR}/bin/avwval ${MD}/melodic_IC dim4" ]
set npts [ expr [ exec sh -c "cat ${MD}/melodic_mix | wc -l" ] * 1 ]
set xscale [ expr $npts * 4 ]
if { $xscale < 750 } {
set xscale 750
}
if { $xscale > 3000 } {
set xscale 3000
}
set xscale [ expr $xscale / 750.0 ]
for { set i 1 } { $i <= $dim } { incr i 1 } {
puts $report "<a href=\"c${i}.html\">$i</a>"
exec sh -c "${FSLDIR}/bin/avwroi ${MD}/melodic_IC ${MD}/grot [ expr $i - 1 ] 1"
catch { exec sh -c "${FSLDIR}/bin/avwstats ${MD}/grot -R" } minmax
set absmin [ expr abs ( [ lindex $minmax 0 ] ) ]
set absmax [ expr abs ( [ lindex $minmax 1 ] ) ]
if { $absmin > $absmax } {
set absmax $absmin
}
set absmax [ expr $absmax * 0.75 ]
if { $background == 0 } {
exec sh -c "${FSLDIR}/bin/slicer ${MD}/grot -l ${FSLDIR}/etc/luts/render3.lut -s 2 -i -$absmax $absmax -A 950 ${MD}/grot.ppm"
} else {
set llimit [ expr $absmax / 6.0 ]
exec sh -c "${FSLDIR}/bin/avwmaths ${MD}/grot -mul -1 ${MD}/grotinv"
exec sh -c "${FSLDIR}/bin/overlay 1 0 $bgimage -a ${MD}/grot $llimit $absmax ${MD}/grotinv $llimit $absmax ${MD}/grotoverlay"
exec sh -c "${FSLDIR}/bin/slicer ${MD}/grotoverlay -s 2 -A 950 ${MD}/grot.ppm"
}
exec sh -c "${FSLDIR}/bin/convert ${MD}/grot.ppm ${MD}/report/s$i.gif"
exec sh -c "cat ${MD}/melodic_mix | awk '{ print \$$i }' > ${MD}/report/t${i}.txt"
exec sh -c "echo \"set term pbm color ; set size $xscale,0.25 ; set title 'Timecourse (TRs)' ; plot '${MD}/report/t${i}.txt' title '' with lines\" | ${FSLDIR}/bin/gnuplot > ${MD}/grot.ppm"
exec sh -c "${FSLDIR}/bin/convert ${MD}/grot.ppm ${MD}/report/t$i.gif"
exec sh -c "cat ${MD}/melodic_FTmix | awk '{ print NR \" \" \$$i }' > ${MD}/report/f${i}.txt"
exec sh -c "echo \"set term pbm color ; set size $xscale,0.25 ; set title 'FT of Timecourse (cycles) frequency(Hz)=cycles/($npts*TR) period(s)=($npts*TR)/cycles' ; plot '${MD}/report/f${i}.txt' title '' with lines\" | ${FSLDIR}/bin/gnuplot > ${MD}/grot.ppm"
exec sh -c "${FSLDIR}/bin/convert ${MD}/grot.ppm ${MD}/report/f$i.gif"
set creport [ open ${MD}/report/c${i}.html "w" ]
puts $creport "<HTML>
<TITLE>MELODIC Component $i</TITLE>
<BODY BACKGROUND=\"file:${FSLDIR}/doc/images/fsl-bg.jpg\">
<hr><CENTER><H1>MELODIC Component $i</H1>
"
if { $i > 1 } {
puts $creport "<a href=\"c[ expr $i - 1 ].html\">previous</a> - "
}
puts $creport "<a href=\"report.html\">index</a>"
if { $i < $dim } {
puts $creport " - <a href=\"c[ expr $i + 1 ].html\">next</a>"
}
puts $creport "
<hr><p>
<IMG BORDER=0 SRC=\"s$i.gif\"><p>
<a href=\"t$i.txt\"><IMG BORDER=0 SRC=\"t$i.gif\"></a><p>
<a href=\"f$i.txt\"><IMG BORDER=0 SRC=\"f$i.gif\"></a><p>
<hr></CENTER></BODY></HTML>
"
close $creport
}
exec sh -c "/bin/rm -f ${MD}/grot*"
puts $report "<HR><FONT SIZE=1>This page produced automatically by MELODIC - a part of <A HREF=\"http://www.fmrib.ox.ac.uk/fsl\">FSL - FMRIB's Software Library</A>.</FONT>
</BODY></HTML>
"
close $report
puts "Finished melodicreport at [ exec date ]
To view the MELODIC report point your web browser at
$REPORTFILE
"
exit