class IQMFileSinkInputSpec(DynamicTraitedSpec, BaseInterfaceInputSpec): subject_id = Str(mandatory=True, desc='the subject id') modality = Str(mandatory=True, desc='the qc type') session_id = traits.Either(None, Str, usedefault=True) task_id = traits.Either(None, Str, usedefault=True) acq_id = traits.Either(None, Str, usedefault=True) rec_id = traits.Either(None, Str, usedefault=True) run_id = traits.Either(None, Str, usedefault=True) metadata = traits.Dict() provenance = traits.Dict() root = traits.Dict(desc='output root dictionary') out_dir = File(desc='the output directory') _outputs = traits.Dict(value={}, usedefault=True) def __setattr__(self, key, value): if key not in self.copyable_trait_names(): if not isdefined(value): super(IQMFileSinkInputSpec, self).__setattr__(key, value) self._outputs[key] = value else: if key in self._outputs: self._outputs[key] = value super(IQMFileSinkInputSpec, self).__setattr__(key, value) if key == 'subject_id': #I can not find where it is set from bids ... dirty fix if str(value) == '<undefined>': self.subject_id = 'TODO'
class FunctionalQCOutputSpec(TraitedSpec): fber = traits.Float efc = traits.Float snr = traits.Float gsr = traits.Dict tsnr = traits.Float dvars = traits.Dict fd = traits.Dict fwhm = traits.Dict(desc='full width half-maximum measure') size = traits.Dict spacing = traits.Dict summary = traits.Dict out_qc = traits.Dict(desc='output flattened dictionary with all measures')
class BIDSDataGrabberOutputSpec(TraitedSpec): out_dict = traits.Dict(desc='output data structure') fmap = OutputMultiPath(desc='output fieldmaps') bold = OutputMultiPath(desc='output functional images') sbref = OutputMultiPath(desc='output sbrefs') t1w = OutputMultiPath(desc='output T1w images') t2w = OutputMultiPath(desc='output T2w images')
class BIDSDataGrabberOutputSpec(TraitedSpec): out_dict = traits.Dict(desc='output data structure') preproc = OutputMultiPath(desc='output preproc functional images') mask = OutputMultiPath(desc='output masks for functional images') MELODICmix = OutputMultiPath(desc='output MELODICmix') AROMAnoiseICs = OutputMultiPath(desc='output AROMAnoiseICs') confounds = OutputMultiPath(desc='output confounds')
class ReadSidecarJSONOutputSpec(TraitedSpec): subject_id = traits.Str() session_id = traits.Str() task_id = traits.Str() acq_id = traits.Str() rec_id = traits.Str() run_id = traits.Str() out_dict = traits.Dict()
class StructuralQCOutputSpec(TraitedSpec): summary = traits.Dict(desc='summary statistics per tissue') icvs = traits.Dict(desc='intracranial volume (ICV) fractions') rpve = traits.Dict(desc='partial volume fractions') size = traits.Dict(desc='image sizes') spacing = traits.Dict(desc='image sizes') fwhm = traits.Dict(desc='full width half-maximum measure') inu = traits.Dict(desc='summary statistics of the bias field') snr = traits.Dict snrd = traits.Dict cnr = traits.Float fber = traits.Float efc = traits.Float qi_1 = traits.Float wm2max = traits.Float cjv = traits.Float out_qc = traits.Dict(desc='output flattened dictionary with all measures') out_noisefit = File(exists=True, desc='plot of background noise and chi fitting') tpm_overlap = traits.Dict
class BIDSDataGrabberInputSpec(BaseInterfaceInputSpec): subject_data = traits.Dict(Str, traits.Any) subject_id = Str()
class Phasediff2FieldmapInputSpec(BaseInterfaceInputSpec): in_file = File(exists=True, mandatory=True, desc='input fieldmap') metadata = traits.Dict(mandatory=True, desc='BIDS metadata dictionary')