Skip to content
Snippets Groups Projects
Commit 573cbf46 authored by Matthew Webster's avatar Matthew Webster
Browse files

completed saads requests?

parent f7ce3013
No related branches found
No related tags found
No related merge requests found
......@@ -80,6 +80,11 @@ proc fdt:dialog { w tclstartupfile } {
checkbutton $w.registration.struct.yn -variable registration(struct_yn) -command "registration_packframe $w"
label $w.registration.struct.lb -text "Main structural image"
TitleFrame $w.registration.struct.tf -text "Main structural image"
frame $w.registration.nonlin
checkbutton $w.registration.nonlin.yn -variable registration(nonlin_yn) -text "Non-betted structural" -command "registration_packframe $w"
FileEntry $w.registration.nonlin.file -textvariable registration(nonlin_image) -filetypes IMAGE
optionMenu2 $w.registration.struct.tf.search registration(struct_search) 0 "No search" 90 "Normal search" 180 "Full search"
optionMenu2 $w.registration.struct.tf.dof registration(struct_dof) 6 "6 DOF" 7 "7 DOF" 9 "9 DOF" 12 "12 DOF"
optionMenu2 $w.registration.struct.tf.costfn registration(struct_costfn) corratio "Correlation ratio" mutualinfo "Mutual information"
......@@ -106,14 +111,18 @@ proc fdt:dialog { w tclstartupfile } {
set registration(standard_search) 90
set registration(standard_image) [ file join ${FSLDIR} data standard MNI152_T1_2mm_brain ]
pack $w.registration.directory $w.registration.struct $w.registration.standard -side top -padx 3 -pady 3 -anchor w
pack $w.registration.directory $w.registration.struct $w.registration.nonlin $w.registration.standard -side top -padx 3 -pady 3 -anchor w
proc registration_packframe { w } {
global registration
pack forget $w.registration.struct.yn $w.registration.struct.tf $w.registration.struct.yn $w.registration.struct.lb
pack forget $w.registration.struct.yn $w.registration.struct.tf $w.registration.struct.yn $w.registration.struct.lb $w.registration.nonlin.yn $w.registration.nonlin.file
pack forget $w.registration.standard.yn $w.registration.standard.tf $w.registration.standard.yn $w.registration.standard.lb
if {$registration(struct_yn)} { pack $w.registration.struct.yn $w.registration.struct.tf -side left -anchor w } else { pack $w.registration.struct.yn $w.registration.struct.lb -side left -anchor w}
if {$registration(standard_yn)} { pack $w.registration.standard.yn $w.registration.standard.tf -side left -anchor w } else { pack $w.registration.standard.yn $w.registration.standard.lb -side left -anchor w}
if { $registration(struct_yn) } { pack $w.registration.struct.yn $w.registration.struct.tf -side left -anchor w } else { pack $w.registration.struct.yn $w.registration.struct.lb -side left -anchor w}
if { $registration(struct_yn) } { pack $w.registration.nonlin.yn -side left }
if { $registration(struct_yn) && $registration(nonlin_yn) } { pack $w.registration.nonlin.file -side left }
if { $registration(standard_yn) } { pack $w.registration.standard.yn $w.registration.standard.tf -side left -anchor w } else { pack $w.registration.standard.yn $w.registration.standard.lb -side left -anchor w}
}
registration_packframe $w
......@@ -474,16 +483,17 @@ proc fdt:probtrack_mode { w } {
pack forget $w.data.seed.voxel $w.data.seed.ssf $w.data.seed.ssf.xfm $w.data.seed.ssf.reference $w.data.seed.bcf $w.data.seed.target $w.data.targets.cf $w.data.seed.ssf.invxfm $w.data.seed.ssf.nonlinear
$w.data.dir configure -label "Output directory:" -title "Name the output directory" -filetypes *
if { $probtrack(useNonlinear) } { pack $w.data.seed.ssf.invxfm -side bottom -anchor w -pady 2 }
pack $w.data.seed.ssf -in $w.data.seed.f -side bottom -anchor w -pady 2
if { $probtrack(useNonlinear) && $probtrack(usereference_yn) } { pack $w.data.seed.ssf.invxfm -side bottom -anchor w -pady 2 }
switch -- $probtrack(mode) {
simple {
pack $w.data.seed.ssf $w.data.seed.voxel -in $w.data.seed.f -side bottom -anchor w -pady 2
pack $w.data.seed.voxel -in $w.data.seed.f -side bottom -anchor w -pady 2
if { $probtrack(usereference_yn) } { pack $w.data.seed.ssf.reference -side bottom -anchor w -pady 2 }
$w.data.seed.ssf.reference configure -label "Seed reference image:" -title "Choose reference image"
$w.data.dir configure -label "Output file:" -title "Name the output file" -filetypes IMAGE
}
seedmask {
pack $w.data.seed.ssf -in $w.data.seed.f -side bottom -anchor w -pady 2
pack forget $w.data.seed.ssf.ssd
if { [ file exists ${FSLDIR}/bin/reord_OM ] } {
pack $w.data.seed.bcf -in $w.data.seed.f -side bottom -anchor w -pady 2
......@@ -494,12 +504,12 @@ proc fdt:probtrack_mode { w } {
}
network {
pack $w.data.seed.target $w.data.seed.ssf -in $w.data.seed.f -side bottom -anchor w -pady 2
pack $w.data.seed.target -in $w.data.seed.f -side bottom -anchor w -pady 2
}
}
if { $probtrack(waypoint_yn) } { pack $w.data.targets.wf.tf }
if { $probtrack(classify_yn) } { pack $w.data.targets.cf.tf }
if { $probtrack(usereference_yn) } { $w.data.seed.ssf.nonlinear pack $w.data.seed.ssf.xfm -side bottom -anchor w -pady 2 }
if { $probtrack(usereference_yn) } { pack $w.data.seed.ssf.nonlinear $w.data.seed.ssf.xfm -side top -anchor w -pady 2 }
$w.probtrack compute_size
}
......@@ -600,7 +610,8 @@ proc fdt:apply { w dialog } {
set errorStr ""
if { $eddy(input) == "" } { set errorStr "You need to specify the input image! " }
if { $eddy(output) == "" } { set errorStr "$errorStr You need to specify an output image!" }
if { $eddy(reorientbVecs) && $errorStr != "" } { set errorStr "$errorStr You need to specify a bvecs image!" }
if { $eddy(reorientbVecs) } { set errorStr "$errorStr You need to specify a bvecs image!" }
if { $errorStr != "" } {
MxPause $errorStr
return
}
......@@ -688,6 +699,7 @@ proc fdt:apply { w dialog } {
if { $probtrack(mode) == "simple" && $probtrack(usereference_yn) && $probtrack(reference) == "" } { set errorStr "$errorStr You must specify a reference image" }
if { $probtrack(mode) == "seedmask" && $probtrack(reference) == "" } { set errorStr "$errorStr You must specify a mask image" }
if { $probtrack(exclude_yn) && $probtrack(exclude) == "" } { set errorStr "$errorStr You must specify the exclusion mask!" }
if { $probtrack(useNonlinear) && $probtrack(usereference_yn) && $probtrack(invxfm) == "" } { set errorStr "$errorStr You must specify the inverse transform!" }
if { $probtrack(terminate_yn) && $probtrack(stop) == ""} { set errorStr "$errorStr You must specify the termination mask!" }
if { $probtrack(output) == "" } { set errorStr "$errorStr You must specify the output basename!" }
set flags ""
......@@ -732,6 +744,11 @@ proc fdt:apply { w dialog } {
set flags "$flags --xfm=$probtrack(xfm)"
puts $log "set probtrack(usereference_yn) $probtrack(usereference_yn)"
puts $log "set probtrack(xfm) $probtrack(xfm)"
if { $probtrack(useNonlinear) } {
set flags "$flags --invxfm=$probtrack(invxfm)"
puts $log "set $probtrack(useNonlinear) $probtrack(useNonlinear)"
puts $log "set probtrack(invxfm) $probtrack(invxfm)"
}
}
if { $probtrack(exclude_yn) == 1 } {
......@@ -865,7 +882,8 @@ proc fdt:apply { w dialog } {
set errorStr ""
if { $registration(directory) == "" } { set errorStr "You must specify the bedpostX directory!" }
if { $registration(struct_yn) && $registration(struct_image) == "" } { set errorStr "$errorStr You must specify the structural image!" }
if { $registration(standard_yn) && $registration(standard_image) == "" } { set errorStr "$errorStr You must specify the standard image!" }
if { $registration(struct_yn) && $registration(nonlin_yn) && $registration(nonlin_image) == "" } { set errorStr "$errorStr You must specify the non-betted structural image!" }
if { $registration(standard_yn) && == "" } { set errorStr "$errorStr You must specify the standard image!" }
if { $errorStr != "" } {
MxPause $errorStr
return
......@@ -882,9 +900,13 @@ proc fdt:apply { w dialog } {
set diff2str [ file join $registration(directory) xfms diff2str.mat ]
set str2diff [ file join $registration(directory) xfms str2diff.mat ]
set str2stand [ file join $registration(directory) xfms str2standard.mat ]
set str2stand_warp [ file join $registration(directory) xfms str2standard_warp ]
set stand2str [ file join $registration(directory) xfms standard2str.mat ]
set stand2str_warp [ file join $registration(directory) xfms standard2str_warp ]
set diff2stand [ file join $registration(directory) xfms diff2standard.mat ]
set diff2stand_warp [ file join $registration(directory) xfms diff2standard_warp ]
set stand2diff [ file join $registration(directory) xfms standard2diff.mat ]
set stand2diff_warp [ file join $registration(directory) xfms standard2diff_warp ]
set diff [ file join $registration(directory) nodif_brain ]
if { $registration(struct_yn) } {
set searchrx "-searchrx -$registration(struct_search) $registration(struct_search)"
......@@ -902,6 +924,12 @@ proc fdt:apply { w dialog } {
fdt_monitor $w "${FSLDIR}/bin/convert_xfm -omat $stand2str -inverse $str2stand"
fdt_monitor $w "${FSLDIR}/bin/convert_xfm -omat $diff2stand -concat $str2stand $diff2str"
fdt_monitor $w "${FSLDIR}/bin/convert_xfm -omat $stand2diff -inverse $diff2stand"
if { $registration(nonlin_yn) } {
fdt_monitor $w "${FSLDIR}/bin/fnirt --in=$registration(nonlin_image) --aff=$str2strand --cout=$str2stand_warp --config=T1_2_MNI152_2mm"
fdt_monitor $w "${FSLDIR}/bin/invwarp -w $str2stand_warp -o standard2str_warp -r ${diff}_mask"
fdt_monitor $w "${FSLDIR}/bin/convertwarp -o $diff2stand_warp -r ${FSLDIR}/data/standard/MNI152_T1_2mm -m $diff2str -w $str2stand_warp"
fdt_monitor $w "${FSLDIR}/bin/convertwarp -o $stand2diff_warp -r ${diff}_mask -w $stand2str_warp --postmat=$str2diff"
}
}
} elseif { $registration(standard_yn) } {
set searchrx "-searchrx -$registration(standard_search) $registration(standard_search)"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment