Print

Print


Hello Matt,
                   If you have run with the standard FEAT pipeline then the fieldmap-based unwarping will have already been applied to the functional data as part of the lower-level preprocessing.

Kind Regards
Matthew

> Hi Matthew,
> 
> Sorry, I misspoke. The example_func2standard.mat file is generated, but we want to use the nonlinear EPI to highres (since we ran fieldmap correction and BBR) with the nonlinear highres to standard warp.
> 
> Looking at featregapply, the conditionals only allow for affine EPI to highres with affine highres to standard, OR affine EPI to highres with nonlinear highres to standard. We would like to apply the EPI to highres nonlinear warp, with the highres to standard nonlinear warp, but as I understand it, this is not currently an option for featregapply.
> 
> Thanks,
> 
> Matt
> 
> On Thu, 16 Apr 2015 17:03:27 +0100, Matthew Webster <[log in to unmask]> wrote:
> 
>> Hello,
>>         A normal FEAT run ( with standard-space registration ) should generate example_func2standard.mat, is your FEAT run different in any way?
>> 
>> Kind Regards
>> Matthew
>> 
>>> Thanks Danny, that explains the error (we used fieldmap-corrected BBR, nonlinear warping for EPI to T1, so we generate example_func2standard_warp instead of example_func2standard.mat).
>>> 
>>> but it begs the larger question of why we can't use our fieldmap-corrected, BBR nonlinear epi to T1 warp with featregapply?
>>> 
>>> for example, with featregapply:
>>> 
>>> if { [ imtest reg/highres2standard_warp ] &&amp;amp; ( $space == "example_func" || $space == "highres" ) } {
>>> 
>>>      set PREMAT ""
>>>      if { $space == "example_func" } {
>>>      set PREMAT "--premat=reg/example_func2highres.mat"
>>>      }
>>>      if { $interp == "nearestneighbour" } {
>>>      set interp nn
>>>      }
>>>      fsl:exec "${FSLDIR}/bin/applywarp --ref=$ref --in=$in --out=$TMPNAM --warp=reg/highres2standard_warp $PREMAT --interp=$interp"
>>> 
>>> 
>>> Why can't we use the fieldmap-corrected BBR, nonlinear epi to T1 and do something like:
>>> 
>>> if { [ imtest reg/highres2standard_warp ] &&amp;amp; ( $space == "example_func" || $space == "highres" ) } {
>>> 
>>>      set WARP1 ""
>>>      if { $space == "example_func" } {
>>>      set WARP1 "--warp1=reg/example_func2highres_warp"
>>>      }
>>>      if { $interp == "nearestneighbour" } {
>>>      set interp nn
>>>      }
>>> 
>>> ##Sum nonlinear transforms (rough syntax)
>>> 
>>>    fsl:exec "${FSLDIR}/bin/convertwarp --ref=$ref --in=$in --warp1=$WARP1 --warp2=reg/highres2standard_warp --out=reg/example_func2standard_warp --relout
>>> 
>>> 
>>> #Use the combined warps (rough syntax)
>>> 
>>>      fsl:exec "${FSLDIR}/bin/applywarp --ref=$ref --in=$in --out=$TMPNAM --warp=reg/example_func2standard_warp --interp=$interp"
>>> 
>>> 
>>> 
>>>> 
>>>> Hmm.. looking at the code for featregapply, you get that error msg if featregapply cannot locate example_func2standard.mat in the reg folder. 
>>>> --- line 162 --- 
>>>> if { ! [ file exists reg/example_func2standard.mat ] } { 
>>>>  puts "Error - registration has not been run for [ pwd ]" 
>>>>  exit 1 
>>>> } 
>>>> ------------------- 
>>>> 
>>>> See if example_func2standard.mat exists for each feat/reg folder. If they do exist, check permission settings so that you are able to read those .mat >files. 
>>>> 
>>>> Best, 
>>>> 
>>>> Danny Kim 
>>>> 
>>>> On 2015-04-15, at 3:44 PM, Matt Sutterer wrote: 
>>>> 
>>>>> Hi Danny, 
>>>>> 
>>>>> The FEAT GUI will not allow me to run the higher-level analysis, I get a pop-up with the error about registration not being run. If I run my .fsf through the feat command line, the feat log shows errors at the "Higher-level input files preparation" stage: 
>>>>> 
>>>>> Higher-level input files preparation 
>>>>> 
>>>>> /usr/fsl/bin/featregapply /ppg/resting_state/NSG_acute/284_chronic/rsOut1/reproc/nuisancereg.feat 
>>>>> Error - registration has not been run for /ppg/resting_state/NSG_acute/284_chronic/rsOut1/reproc/nuisancereg.feat 
>>>>> 
>>>>> /usr/fsl/bin/featregapply /ppg/resting_state/NSG_acute/284_chronic/rsOut2/reproc/nuisancereg.feat 
>>>>> Error - registration has not been run for /ppg/resting_state/NSG_acute/284_chronic/rsOut2/reproc/nuisancereg.feat 
>>>>> 
>>>>> ...and so on... 
>>>>> 
>>>>> things continue to fail from there, presumably because of the initial failure of featregapply. 
>>>>> 
>>>>> highres2standard.mat is present in the session.feat/reg folder for each session. 
>>>>> 
>>>>> Thanks much, 
>>>>> 
>>>>> Matt Sutterer 
>>>>>