def _run_interface(self, runtime): inputnode = niu.IdentityInterface( fields=['intensity_image', 'mask_image']) inputnode.iterables = ('intensity_image', self.inputs.intensity_images) intensity_nii_list = [] for f in self.inputs.intensity_images: mult = Math() mult.inputs.input_files = [f, self.inputs.mask_image] mult.inputs.output_file = os.getcwd() + os.sep + os.path.basename( os.path.splitext(f)[0]) + "_brain.mnc" mult.inputs.calc_mul = True mult.run() intensity_mnc2nii_sh = mnc2nii_shCommand() intensity_mnc2nii_sh.inputs.in_file = mult.inputs.output_file intensity_mnc2nii_sh.run() intensity_nii_list += [intensity_mnc2nii_sh.inputs.out_file] mask_mnc2nii_sh = mnc2nii_shCommand() mask_mnc2nii_sh.inputs.truncate_path = True mask_mnc2nii_sh.inputs.in_file = self.inputs.mask_image mask_mnc2nii_sh.run() seg = Atropos() seg.inputs.dimension = self.inputs.dimension seg.inputs.intensity_images = intensity_nii_list seg.inputs.mask_image = mask_mnc2nii_sh.inputs.out_file seg.inputs.initialization = self.inputs.initialization seg.inputs.prior_probability_images = self.inputs.prior_probability_images seg.inputs.number_of_tissue_classes = self.inputs.number_of_tissue_classes seg.inputs.prior_weighting = self.inputs.prior_weighting seg.inputs.prior_probability_threshold = self.inputs.prior_probability_threshold seg.inputs.likelihood_model = self.inputs.likelihood_model seg.inputs.mrf_smoothing_factor = self.inputs.mrf_smoothing_factor seg.inputs.mrf_radius = self.inputs.mrf_radius seg.inputs.icm_use_synchronous_update = self.inputs.icm_use_synchronous_update seg.inputs.maximum_number_of_icm_terations = self.inputs.maximum_number_of_icm_terations seg.inputs.convergence_threshold = self.inputs.convergence_threshold seg.inputs.posterior_formulation = self.inputs.posterior_formulation seg.inputs.use_random_seed = self.inputs.use_random_seed seg.inputs.use_mixture_model_proportions = self.inputs.use_mixture_model_proportions seg.inputs.out_classified_image_name = self.inputs.out_classified_image_name seg.inputs.save_posteriors = self.inputs.save_posteriors seg.inputs.output_posteriors_name_template = self.inputs.output_posteriors_name_template print(seg.cmdline) seg.run() seg.outputs = seg._list_outputs() #seg._outputs() classified_nii2mnc_sh = nii2mnc2Command() classified_nii2mnc_sh.inputs.in_file = seg.outputs["classified_image"] classified_nii2mnc_sh.inputs.truncate_path = True classified_nii2mnc_sh.run() self.inputs.classified_image = classified_nii2mnc_sh.inputs.out_file return (runtime)