Changeset d03228e in sasview for src/sas/sascalc/corfunc
- Timestamp:
- Jul 12, 2016 6:13:24 AM (8 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- 8bdc103
- Parents:
- 41345d7e
- Location:
- src/sas/sascalc/corfunc
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sascalc/corfunc/corfunc_calculator.py
reb320682 rd03228e 10 10 from numpy.linalg import lstsq 11 11 from sas.sascalc.dataloader.data_info import Data1D 12 from sas.sascalc.corfunc.transform_thread import TransformThread 12 from sas.sascalc.corfunc.transform_thread import FourierThread 13 from sas.sascalc.corfunc.transform_thread import HilbertThread 13 14 14 15 class CorfuncCalculator(object): … … 122 123 return extrapolation 123 124 124 def compute_transform(self, extrapolation, background=None,125 def compute_transform(self, extrapolation, trans_type, background=None, 125 126 completefn=None, updatefn=None): 126 127 """ … … 141 142 if background is None: background = self.background 142 143 143 self._transform_thread = TransformThread(self._data, extrapolation, 144 background, completefn=completefn, updatefn=updatefn) 144 if trans_type == 'fourier': 145 self._transform_thread = FourierThread(self._data, extrapolation, 146 background, completefn=completefn, updatefn=updatefn) 147 elif trans_type == 'hilbert': 148 self._transform_thread = HilbertThread(self._data, extrapolation, 149 background, completefn=completefn, updatefn=updatefn) 150 else: 151 err = ("Incorrect transform type supplied, must be 'fourier'", 152 " or 'hilbert'") 153 raise ValueError, err 154 145 155 self._transform_thread.queue() 146 156 -
src/sas/sascalc/corfunc/transform_thread.py
ra2db1ab rd03228e 5 5 from time import sleep 6 6 7 class TransformThread(CalcThread):7 class FourierThread(CalcThread): 8 8 def __init__(self, raw_data, extrapolated_data, bg, updatefn=None, 9 9 completefn=None): … … 39 39 40 40 self.complete(transform=transform) 41 42 class HilbertThread(CalcThread): 43 def __init__(self, raw_data, extrapolated_data, bg, updatefn=None, 44 completefn=None): 45 CalcThread.__init__(self, updatefn=updatefn, completefn=completefn) 46 self.data = raw_data 47 self.background = bg 48 self.extrapolation = extrapolated_data 49 50 def compute(self): 51 qs = self.extrapolation.x 52 iqs = self.extrapolation.y 53 q = self.data.x 54 background = self.background 55 56 self.ready(delay=0.0) 57 self.update(msg="Starting Hilbert transform.") 58 self.ready(delay=0.0) 59 if self.isquit(): 60 return 61 62 # TODO: Implement hilbert transform 63 64 self.update(msg="Hilbert transform completed.") 65 66 self.complete(transform=None)
Note: See TracChangeset
for help on using the changeset viewer.