Changeset b297ba9 in sasmodels for sasmodels/mixture.py


Ignore:
Timestamp:
Mar 20, 2019 7:03:50 PM (5 years ago)
Author:
Paul Kienzle <pkienzle@…>
Branches:
master, core_shell_microgels, magnetic_model, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
Children:
4e28511
Parents:
0d362b7
Message:

lint

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sasmodels/mixture.py

    r39a06c9 rb297ba9  
    120120 
    121121    def random(): 
     122        """Random set of model parameters for mixture model""" 
    122123        combined_pars = {} 
    123124        for k, part in enumerate(parts): 
     
    149150 
    150151class MixtureModel(KernelModel): 
     152    """ 
     153    Model definition for mixture of models. 
     154    """ 
    151155    def __init__(self, model_info, parts): 
    152156        # type: (ModelInfo, List[KernelModel]) -> None 
     
    165169        kernels = [part.make_kernel(q_vectors) for part in self.parts] 
    166170        return MixtureKernel(self.info, kernels) 
     171    make_kernel.__doc__ = KernelModel.make_kernel.__doc__ 
    167172 
    168173    def release(self): 
    169174        # type: () -> None 
    170         """ 
    171         Free resources associated with the model. 
    172         """ 
     175        """Free resources associated with the model.""" 
    173176        for part in self.parts: 
    174177            part.release() 
     178    release.__doc__ = KernelModel.release.__doc__ 
    175179 
    176180 
    177181class MixtureKernel(Kernel): 
     182    """ 
     183    Instantiated kernel for mixture of models. 
     184    """ 
    178185    def __init__(self, model_info, kernels): 
    179186        # type: (ModelInfo, List[Kernel]) -> None 
     
    185192        self.results = []  # type: List[np.ndarray] 
    186193 
    187     def __call__(self, call_details, values, cutoff, magnetic): 
     194    def Iq(self, call_details, values, cutoff, magnetic): 
    188195        # type: (CallDetails, np.ndarray, np.ndarry, float, bool) -> np.ndarray 
    189196        scale, background = values[0:2] 
     
    191198        # remember the parts for plotting later 
    192199        self.results = []  # type: List[np.ndarray] 
    193         parts = MixtureParts(self.info, self.kernels, call_details, values) 
     200        parts = _MixtureParts(self.info, self.kernels, call_details, values) 
    194201        for kernel, kernel_details, kernel_values in parts: 
    195202            #print("calling kernel", kernel.info.name) 
     
    208215        return scale*total + background 
    209216 
     217    Iq.__doc__ = Kernel.Iq.__doc__ 
     218    __call__ = Iq 
     219 
    210220    def release(self): 
    211221        # type: () -> None 
     222        """Free resources associated with the kernel.""" 
    212223        for k in self.kernels: 
    213224            k.release() 
    214225 
    215226 
    216 class MixtureParts(object): 
     227# Note: _MixtureParts doesn't implement iteration correctly, and only allows 
     228# a single iterator to be active at once.  It doesn't matter in this case 
     229# since _MixtureParts is only used in one place, but it is not clean style. 
     230class _MixtureParts(object): 
     231    """ 
     232    Mixture component iterator. 
     233    """ 
    217234    def __init__(self, model_info, kernels, call_details, values): 
    218235        # type: (ModelInfo, List[Kernel], CallDetails, np.ndarray) -> None 
     
    223240        self.values = values 
    224241        self.spin_index = model_info.parameters.npars + 2 
     242        # The following are redefined by __iter__, but set them here so that 
     243        # lint complains a little less. 
     244        self.part_num = -1 
     245        self.par_index = -1 
     246        self.mag_index = -1 
    225247        #call_details.show(values) 
    226248 
Note: See TracChangeset for help on using the changeset viewer.