ptaylor_shell_tests.tcsh 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503
  1. #!/bin/tcsh
  2. # NB: all parameters in this file are set for testing purposes (=
  3. # brevity, in most case). These are NOT meant to be realistic use
  4. # cases in practice!
  5. set here = ${PWD}
  6. set fatdir = AFNI_demos/FATCAT_DEMO
  7. set dir2 = test_extra
  8. set fatdir2 = ${fatdir}/${dir2}
  9. set mainpref = "$1"
  10. if ( "${mainpref}" == "" ) then
  11. set mainpref = RUN_00
  12. endif
  13. set otext = ${here}/o.status_failures_ptaylor.txt
  14. # -------------------------------------------------------------------------
  15. # Preliminary: check that supplement dir exists
  16. if ( ! -e ${fatdir2} ) then
  17. echo "** To run these tests you need a supplementary dir in the"
  18. echo " FATCAT_DEMO directory, called: ${dir2}"
  19. exit 1
  20. endif
  21. # -------------------------------------------------------------------------
  22. \mkdir -p ${mainpref}
  23. # want absolute path to dir of test outputs
  24. cd ${mainpref}
  25. set testdir = ${PWD}
  26. cd -
  27. printf "" > ${otext}
  28. cd ${fatdir}
  29. # -------------------------------------------------------------------------
  30. # -------------------------------------------------------------------------
  31. set prog = 3ddot_beta
  32. set opref = ${testdir}/o.${prog}
  33. echo "++ test-run: ${prog}"
  34. ${prog} \
  35. -echo_edu \
  36. -input SOME_ICA_NETS_in_DWI+orig.HEAD \
  37. -mask mask_DWI+orig.HEAD \
  38. -doeta2 \
  39. -prefix ${opref}
  40. if ( ${status} ) printf "${prog}\n" >> ${otext}
  41. # output file will be: ${opref}_eta2.dat
  42. # -------------------------------------------------------------------------
  43. set prog = 1dDW_Grad_o_Mat++
  44. set opref = ${testdir}/o.${prog}
  45. set ombat = ${opref}_BMAT.txt
  46. set ocvec = ${opref}_cvec_n-1.txt
  47. echo "++ test-run: ${prog}"
  48. # For 3dDWItoDT
  49. ${prog} \
  50. -echo_edu \
  51. -in_row_vec bvec'[2..32]' \
  52. -in_bvals bval'[2..32]' \
  53. -flip_y \
  54. -out_col_matA ${ombat}
  55. if ( ${status} ) printf "${prog}\n" >> ${otext}
  56. # for the 3dDTtoNoisyDWI; has N-1 (no '0', sigh)
  57. ${prog} \
  58. -echo_edu \
  59. -in_row_vec bvec'[3..32]' \
  60. -flip_y \
  61. -out_col_vec ${ocvec}
  62. if ( ${status} ) printf "${prog}\n" >> ${otext}
  63. # -------------------------------------------------------------------------
  64. set prog = 3dDWItoDT
  65. set opref = ${testdir}/o.${prog}
  66. # just using '-linear' for speed!
  67. echo "++ test-run: ${prog}"
  68. ${prog} \
  69. -echo_edu \
  70. -prefix ${opref} \
  71. -mask mask_DWI+orig.HEAD \
  72. -eigs \
  73. -scale_out_1000 \
  74. -sep_dsets \
  75. -linear \
  76. -bmatrix_FULL ${dir2}/grad_BMAT.txt \
  77. AVEB0_DWI.nii.gz
  78. if ( ${status} ) printf "${prog}\n" >> ${otext}
  79. # produces several dsets: ${odti}_{FA,MD,V1,V2,.....}+orig.HEAD
  80. # -------------------------------------------------------------------------
  81. set prog = 3dROIMaker
  82. set opref = ${testdir}/o.${prog}
  83. # just using '-linear' for speed!
  84. echo "++ test-run: ${prog}"
  85. ${prog} \
  86. -echo_edu \
  87. -nifti \
  88. -inset SOME_ICA_NETS_in_DWI+orig.HEAD \
  89. -thresh 3.0 \
  90. -volthr 130 \
  91. -inflate 2 \
  92. -wm_skel ${dir2}/DT_FA+orig.HEAD \
  93. -skel_thr 0.2 \
  94. -skel_stop \
  95. -mask mask_DWI+orig.HEAD \
  96. -prefix ${opref} \
  97. -overwrite
  98. if ( ${status} ) printf "${prog}\n" >> ${otext}
  99. # -------------------------------------------------------------------------
  100. set prog = 3dDTtoNoisyDWI
  101. set opref = ${testdir}/o.${prog}
  102. echo "++ test-run: ${prog}"
  103. ${prog} \
  104. -echo_edu \
  105. -choose_seed 7 \
  106. -dt_in ${dir2}/DT_DT+orig.HEAD \
  107. -mask mask_DWI+orig.HEAD \
  108. -grads ${dir2}/grad_cvec_n-1.txt \
  109. -noise_DWI 0.05 \
  110. -noise_B0 0 \
  111. -prefix ${opref}.nii.gz
  112. if ( ${status} ) printf "${prog}\n" >> ${otext}
  113. # -------------------------------------------------------------------------
  114. set prog = 3dEigsToDT
  115. set opref = ${testdir}/o.${prog}
  116. set odt2 = ${opref}
  117. echo "++ test-run: ${prog}"
  118. ${prog} \
  119. -echo_edu \
  120. -eig_vals "${dir2}/DT_L*" \
  121. -eig_vecs "${dir2}/DT_V*" \
  122. -prefix ${odt2}
  123. # -------------------------------------------------------------------------
  124. set prog = 3dVecRGB_to_HSL
  125. set opref = ${testdir}/o.${prog}
  126. echo "++ test-run: ${prog}"
  127. ${prog} \
  128. -echo_edu \
  129. -in_vec ${dir2}/DT_V1+orig.HEAD \
  130. -in_scal ${dir2}/DT_FA+orig.HEAD \
  131. -mask mask_DWI+orig.HEAD \
  132. -prefix ${opref}
  133. if ( ${status} ) printf "${prog}\n" >> ${otext}
  134. # -------------------------------------------------------------------------
  135. set prog = 3dTORTOISEtoHere
  136. set opref = ${testdir}/o.${prog}
  137. set odtT = ${opref}_PREP.nii.gz
  138. echo "++ test-run: ${prog}"
  139. # first, make a DT copy in the TORTOISE style
  140. 3dTcat \
  141. -echo_edu \
  142. -prefix ${odtT} \
  143. ${dir2}/DT_DT+orig.HEAD'[0,2,5,1,3,4]'
  144. ${prog} \
  145. -echo_edu \
  146. -dt_tort ${odtT} \
  147. -prefix ${opref}
  148. if ( ${status} ) printf "${prog}\n" >> ${otext}
  149. # -------------------------------------------------------------------------
  150. set prog = 3dDWUncert
  151. set opref = ${testdir}/o.${prog}
  152. echo "++ test-run: ${prog}"
  153. # run in prep for PROB tracking
  154. ${prog} \
  155. -echo_edu \
  156. -inset AVEB0_DWI.nii.gz \
  157. -mask mask_DWI+orig.HEAD \
  158. -pt_choose_seed 5 \
  159. -prefix ${opref} \
  160. -input ${dir2}/DT \
  161. -bmatrix_FULL ${dir2}/grad_BMAT.txt \
  162. -iters 10
  163. if ( ${status} ) printf "${prog}\n" >> ${otext}
  164. # -------------------------------------------------------------------------
  165. set prog = 3dTrackID
  166. set opref = ${testdir}/o.${prog}
  167. set otrdet = ${opref}_DET
  168. set otrpr = ${opref}_PROB
  169. echo "++ test-run: ${prog}"
  170. # WB DET tracking
  171. ${prog} \
  172. -echo_edu \
  173. -mode DET \
  174. -dti_in ${dir2}/DT \
  175. -netrois mask_DWI+orig.HEAD \
  176. -logic OR \
  177. -alg_Thresh_Len 30 \
  178. -alg_Nseed_X 1 \
  179. -alg_Nseed_Y 1 \
  180. -alg_Nseed_Z 1 \
  181. -prefix ${otrdet}
  182. if ( ${status} ) printf "${prog}\n" >> ${otext}
  183. # network PROB tracking; depends on ROI ICMAP_GMI being created
  184. ${prog} \
  185. -echo_edu \
  186. -mode PROB \
  187. -choose_seed 5 \
  188. -no_indipair_out \
  189. -nifti \
  190. -dti_in ${dir2}/DT \
  191. -uncert ${dir2}/o.UNCERT+orig.HEAD \
  192. -netrois ${dir2}/ROI_ICMAP_GMI+orig.HEAD \
  193. -mask mask_DWI+orig.HEAD \
  194. -alg_Thresh_Frac 0.2 \
  195. -alg_Nseed_Vox 5 \
  196. -alg_Nmonte 5 \
  197. -dump_rois AFNI \
  198. -prefix ${otrpr}
  199. if ( ${status} ) printf "${prog}\n" >> ${otext}
  200. # -------------------------------------------------------------------------
  201. set prog = 3dNetCorr
  202. set opref = ${testdir}/o.${prog}
  203. echo "++ test-run: ${prog}"
  204. ${prog} \
  205. -echo_edu \
  206. -inset REST_in_DWI.nii.gz'[5..50]' \
  207. -in_rois ${dir2}/ROI_ICMAP_GM+orig.HEAD \
  208. -prefix ${opref} \
  209. -fish_z \
  210. -ts_wb_Z \
  211. -nifti \
  212. -ts_out
  213. if ( ${status} ) printf "${prog}\n" >> ${otext}
  214. # -------------------------------------------------------------------------
  215. set prog = 3dMatch
  216. set opref = ${testdir}/o.${prog}
  217. echo "++ test-run: ${prog}"
  218. ${prog} \
  219. -echo_edu \
  220. -only_dice_thr \
  221. -inset SOME_ICA_NETS_in_DWI+orig.HEAD \
  222. -refset MULTISITE_in_DWI+orig.HEAD \
  223. -mask mask_DWI+orig.HEAD \
  224. -in_min 1.0 \
  225. -ref_min 3 \
  226. -prefix ${opref}
  227. if ( ${status} ) printf "${prog}\n" >> ${otext}
  228. # -------------------------------------------------------------------------
  229. set prog = 3dRSFC
  230. set opref = ${testdir}/o.${prog}
  231. echo "++ test-run: ${prog}"
  232. ${prog} \
  233. -echo_edu \
  234. -input REST_in_DWI.nii.gz'[5..100]' \
  235. -prefix ${opref} \
  236. -mask mask_DWI+orig.HEAD \
  237. -band 0.01 0.1
  238. if ( ${status} ) printf "${prog}\n" >> ${otext}
  239. # -------------------------------------------------------------------------
  240. set prog = 3dLombScargle
  241. set opref = ${testdir}/o.${prog}
  242. set olsamp = ${opref}
  243. echo "++ test-run: ${prog}"
  244. ${prog} \
  245. -echo_edu \
  246. -nifti \
  247. -inset REST_in_DWI.nii.gz'[5..100]' \
  248. -prefix ${opref} \
  249. -mask mask_DWI+orig.HEAD \
  250. -censor_str '[0..3,5,6..18,22..34,36..47,49,51..60,63..84,86..88,90,92..$]'
  251. if ( ${status} ) printf "${prog}\n" >> ${otext}
  252. # -------------------------------------------------------------------------
  253. set prog = 3dAmpToRSFC
  254. set opref = ${testdir}/o.${prog}
  255. echo "++ test-run: ${prog}"
  256. ${prog} \
  257. -nifti \
  258. -band 0.01 0.1 \
  259. -mask mask_DWI+orig.HEAD \
  260. -in_amp ${dir2}/o.3dLombScargle_amp.nii.gz \
  261. -prefix ${opref}
  262. if ( ${status} ) printf "${prog}\n" >> ${otext}
  263. # -------------------------------------------------------------------------
  264. set prog = 3dClusterize
  265. set opref = ${testdir}/o.${prog}
  266. echo "++ test-run: ${prog}"
  267. ${prog} \
  268. -echo_edu \
  269. -mask mask_DWI+orig.HEAD \
  270. -inset SOME_ICA_NETS_in_DWI+orig.HEAD \
  271. -ithr 0 \
  272. -idat 0 \
  273. -bisided -3 3 \
  274. -NN 2 \
  275. -clust_nvox 200 \
  276. -pref_map ${opref}_MAP.nii.gz \
  277. -pref_dat ${opref}_DAT.nii.gz \
  278. > ${opref}_REP.txt
  279. if ( ${status} ) printf "${prog}\n" >> ${otext}
  280. # -------------------------------------------------------------------------
  281. set prog = 3dReHo
  282. set opref = ${testdir}/o.${prog}
  283. echo "++ test-run: ${prog}"
  284. ${prog} \
  285. -echo_edu \
  286. -mask mask_DWI+orig.HEAD \
  287. -inset REST_in_DWI.nii.gz'[5..50]' \
  288. -nneigh 7 \
  289. -prefix ${opref} \
  290. if ( ${status} ) printf "${prog}\n" >> ${otext}
  291. # check with ROIs (and different kind of neighborhood opts); depends
  292. # on 3dROIMaker output, above
  293. ${prog} \
  294. -echo_edu \
  295. -mask mask_DWI+orig.HEAD \
  296. -inset REST_in_DWI.nii.gz'[5..50]' \
  297. -box_X 2 \
  298. -box_Y 2 \
  299. -box_Z 3 \
  300. -prefix ${opref}_ROI \
  301. -in_rois ${dir2}/ROI_ICMAP_GM+orig.HEAD
  302. if ( ${status} ) printf "${prog}\n" >> ${otext}
  303. # -------------------------------------------------------------------------
  304. set prog = 3dSliceNDice
  305. set opref = ${testdir}/o.${prog}
  306. echo "++ test-run: ${prog}"
  307. # make masks
  308. 3dcalc \
  309. -echo_edu \
  310. -a SOME_ICA_NETS_in_DWI+orig.HEAD'[0]' \
  311. -b mask_DWI+orig.HEAD \
  312. -expr 'step(b)*(step(a-3)+step(-3-a))' \
  313. -prefix ${opref}_preA.nii.gz
  314. 3dcalc \
  315. -echo_edu \
  316. -a SOME_ICA_NETS_in_DWI+orig.HEAD'[1]' \
  317. -b mask_DWI+orig.HEAD \
  318. -expr 'step(b)*(step(a-3)+step(-3-a))' \
  319. -prefix ${opref}_preB.nii.gz
  320. ${prog} \
  321. -echo_edu \
  322. -out_domain all \
  323. -insetA ${opref}_preA.nii.gz \
  324. -insetB ${opref}_preB.nii.gz \
  325. -prefix ${opref}
  326. if ( ${status} ) printf "${prog}\n" >> ${otext}
  327. # -------------------------------------------------------------------------
  328. set prog = 3dSpaceTimeCorr
  329. set opref = ${testdir}/o.${prog}
  330. echo "++ test-run: ${prog}"
  331. # make a quick+small mask (sphere around xyz origin), because this
  332. # prog is computationally intense --> slow
  333. 3dcalc \
  334. -echo_edu \
  335. -a mask_DWI+orig.HEAD \
  336. -expr 'step(100-(x-0)*(x-0)-(y-0)*(y-0)-(z-0)*(z-0))' \
  337. -prefix ${opref}_MASK.nii.gz
  338. ${prog} \
  339. -echo_edu \
  340. -insetA REST_in_DWI.nii.gz'[5..15]' \
  341. -insetB REST_in_DWI.nii.gz'[25..35]' \
  342. -mask ${opref}_MASK.nii.gz \
  343. -prefix ${opref}
  344. if ( ${status} ) printf "${prog}\n" >> ${otext}
  345. # -------------------------------------------------------------------------
  346. set prog = 3dZipperZapper
  347. set opref = ${testdir}/o.${prog}
  348. echo "++ test-run: ${prog}"
  349. ${prog} \
  350. -echo_edu \
  351. -input AVEB0_DWI.nii.gz'[0..10]' \
  352. -mask mask_DWI+orig.HEAD \
  353. -prefix ${opref} \
  354. -do_out_slice_param
  355. if ( ${status} ) printf "${prog}\n" >> ${otext}
  356. # -------------------------------------------------------------------------
  357. # -------------------------------------------------------------------------
  358. # -------------------------------------------------------------------------
  359. set nfail_status = `cat ${otext} | wc -l`
  360. echo ""
  361. echo ""
  362. echo "---------------------------------------------------------"
  363. echo " DONE"
  364. echo ""
  365. echo ""
  366. if ( ${nfail_status} ) then
  367. echo "** Number of progs that failed status: ${nfail_status}"
  368. cat ${otext}
  369. else
  370. echo "++ No programs had failure status :)"
  371. endif
  372. echo ""
  373. echo "---------------------------------------------------------"