|
32 | 32 | \t\t<ul class="elem-desc"> |
33 | 33 | \t\t\t<li>Repetition time (TR): {tr:.03g}s</li> |
34 | 34 | \t\t\t<li>Phase-encoding (PE) direction: {pedir}</li> |
| 35 | +\t\t\t<li>{multiecho}</li> |
35 | 36 | \t\t\t<li>Slice timing correction: {stc}</li> |
36 | 37 | \t\t\t<li>Susceptibility distortion correction: {sdc}</li> |
37 | 38 | \t\t\t<li>Registration: {registration}</li> |
@@ -171,6 +172,7 @@ class FunctionalSummaryInputSpec(BaseInterfaceInputSpec): |
171 | 172 | tr = traits.Float(desc='Repetition time', mandatory=True) |
172 | 173 | dummy_scans = traits.Either(traits.Int(), None, desc='number of dummy scans specified by user') |
173 | 174 | algo_dummy_scans = traits.Int(desc='number of dummy scans determined by algorithm') |
| 175 | + echo_idx = traits.List([], usedefault=True, desc="BIDS echo identifiers") |
174 | 176 |
|
175 | 177 |
|
176 | 178 | class FunctionalSummary(SummaryInterface): |
@@ -218,10 +220,20 @@ def _generate_segment(self): |
218 | 220 | else: |
219 | 221 | dummy_scan_msg = dummy_scan_tmp.format(n_dum=self.inputs.algo_dummy_scans) |
220 | 222 |
|
| 223 | + multiecho = "Single-echo EPI sequence." |
| 224 | + n_echos = len(self.inputs.echo_idx) |
| 225 | + if n_echos == 1: |
| 226 | + multiecho = ( |
| 227 | + f"Multi-echo EPI sequence: only echo {self.inputs.echo_idx[0]} processed " |
| 228 | + "in single-echo mode." |
| 229 | + ) |
| 230 | + if n_echos > 2: |
| 231 | + multiecho = (f"Multi-echo EPI sequence: {n_echos} echoes.") |
| 232 | + |
221 | 233 | return FUNCTIONAL_TEMPLATE.format( |
222 | 234 | pedir=pedir, stc=stc, sdc=self.inputs.distortion_correction, registration=reg, |
223 | 235 | confounds=re.sub(r'[\t ]+', ', ', conflist), tr=self.inputs.tr, |
224 | | - dummy_scan_desc=dummy_scan_msg) |
| 236 | + dummy_scan_desc=dummy_scan_msg, multiecho=multiecho) |
225 | 237 |
|
226 | 238 |
|
227 | 239 | class AboutSummaryInputSpec(BaseInterfaceInputSpec): |
|
0 commit comments