1""" 2 3Base-classes for reconstruction models and reconstruction fits. 4 5All the models in the reconst module follow the same template: a Model object 6is used to represent the abstract properties of the model, that are independent 7of the specifics of the data . These properties are reused whenver fitting a 8particular set of data (different voxels, for example). 9 10 11""" 12 13 14class ReconstModel(object): 15 """ Abstract class for signal reconstruction models 16 """ 17 18 def __init__(self, gtab): 19 """Initialization of the abstract class for signal reconstruction models 20 21 Parameters 22 ---------- 23 gtab : GradientTable class instance 24 25 """ 26 self.gtab = gtab 27 28 def fit(self, data, mask=None, **kwargs): 29 return ReconstFit(self, data) 30 31 32class ReconstFit(object): 33 """ Abstract class which holds the fit result of ReconstModel 34 35 For example that could be holding FA or GFA etc. 36 """ 37 38 def __init__(self, model, data): 39 self.model = model 40 self.data = data 41