Source code for cmp.bidsappmanager.stages.diffusion.reconstruction

# Copyright (C) 2009-2021, Ecole Polytechnique Federale de Lausanne (EPFL) and
# Hospital Center and University of Lausanne (UNIL-CHUV), Switzerland, and CMP3 contributors
# All rights reserved.
#
#  This software is distributed under the open-source license Modified BSD.

"""Definition of diffusion reconstruction config UI classes."""

# General imports
import re
import os
import pkg_resources

from traits.api import *
from traitsui.api import *

# Own imports
from cmp.stages.diffusion.reconstruction import Dipy_recon_config, MRtrix_recon_config


# Reconstruction configuration
[docs]class Dipy_recon_configUI(Dipy_recon_config): """Class that extends the :class:`Dipy_recon_config` with graphical components. Attributes ---------- flip_table_axis : list of string List of axis to flip in the gradient table. Valid values are 'x', 'y', 'z' traits_view : traits.ui.View TraitsUI view that displays the attributes of this class, e.g. the parameters for diffusion reconstruction using Dipy See also --------- cmp.stages.diffusion.reconstruction.Dipy_recon_config """ flip_table_axis = List(editor=CheckListEditor( values=['x', 'y', 'z'], cols=3)) traits_view = View( # Item('gradient_table',label='Gradient table (x,y,z,b):'), Item('flip_table_axis', style='custom', label='Flip bvecs:'), # Item('custom_gradient_table',enabled_when='gradient_table_file=="Custom..."'), # Item('b_value'), # Item('b0_volumes'), Group( Item('local_model', editor=EnumEditor(name='local_model_editor')), Group( Item('lmax_order'), # Item('normalize_to_B0'), Item('single_fib_thr', label='FA threshold'), visible_when='local_model' ), visible_when='imaging_model != "DSI"' ), Group( Item('shore_radial_order', label='Radial order'), Item('shore_zeta', label='Scale factor (zeta)'), Item('shore_lambda_n', label='Radial regularization constant'), Item('shore_lambda_l', label='Angular regularization constant'), Item('shore_tau', label='Diffusion time (s)'), Item('shore_constrain_e0', label='Constrain the optimization such that E(0) = 1.'), Item('shore_positive_constraint', label='Constrain the propagator to be positive.'), label='Parameters of SHORE reconstruction model', visible_when='imaging_model == "DSI"' ), Item('mapmri', visible_when='imaging_model != "DTI"'), Group( VGroup( Item('radial_order'), HGroup(Item('small_delta'), Item('big_delta')) ), HGroup( Item('laplacian_regularization'), Item('laplacian_weighting') ), Item('positivity_constraint'), label="MAP_MRI settings", visible_when='mapmri') )
[docs]class MRtrix_recon_configUI(MRtrix_recon_config): """Class that extends the :class:`MRtrix_recon_config` with graphical components. Attributes ---------- flip_table_axis : list of string List of axis to flip in the gradient table. Valid values are 'x', 'y', 'z' traits_view : traits.ui.View TraitsUI view that displays the attributes of this class, e.g. the parameters for diffusion reconstruction using MRtrix See also --------- cmp.stages.diffusion.reconstruction.MRtrix_recon_config """ flip_table_axis = List(editor=CheckListEditor( values=['x', 'y', 'z'], cols=3)) traits_view = View( Item('flip_table_axis', style='custom', label='Flip gradient table:'), Item('local_model', editor=EnumEditor(name='local_model_editor')), Group(Item('lmax_order'), # Item('normalize_to_B0'), Item('single_fib_thr', label='FA threshold'), visible_when='local_model'), )