- Timestamp:
- Nov 20, 2016 5:36:43 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:
- e4078ed
- Parents:
- a01af35
- Location:
- src/sas
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sascalc/data_util/qsmearing.py
ra01af35 r55db501 15 15 import time 16 16 from sasmodels import sesans 17 18 17 import numpy as np # type: ignore 19 18 from numpy import pi, exp # type: ignore … … 61 60 # TODO: change other sanity checks to check for file loader instead of data structure? 62 61 _found_sesans = False 63 if data.dx is not None and data.meta_data['loader']=='SESANS': 62 #if data.dx is not None and data.meta_data['loader']=='SESANS': 63 if data.dx is not None and data.isSesans: 64 64 if data.dx[0] > 0.0: 65 65 _found_sesans = True … … 67 67 if _found_sesans == True: 68 68 #Pre-compute the Hankel matrix (H) 69 H0,H, q_calc = sesans.Hankelconstructor(data) 69 qmax, qunits = data.sample.zacceptance 70 Hankelinst=sesans.SesansTransform() 71 sesans.SesansTransform.set_transform(Hankelinst, 72 SE = Converter(data._xunit)(data.x, "A"), 73 zaccept = Converter(qunits)(qmax, "1/A"), 74 Rmax = 1000000) 75 H=sesans.SesansTransform._H 76 H0=sesans.SesansTransform._H0 77 q=sesans.SesansTransform.q 70 78 # Then return the actual transform, as if it were a smearing function 71 return PySmear(SESANS1D(data, H0, H, q_calc), model) 79 # applying evalDistribution to a model, with a q-space as param, returns the I(q) values that go with the q-values 80 81 return PySmear(SESANS1D(data, H0, H, q), model) 72 82 73 83 _found_resolution = False … … 175 185 width = data.dx if data.dx is not None else 0 176 186 return PySmear(Pinhole1D(q, width), model) 177 178 def sesans_smear(data, model=None):179 #This should be calculated characteristic length scale180 #Probably not a data prameter either181 #Need function to calculate this based on model182 #Here assume a number183 Rmax = 1000000184 q_calc = sesans.make_q(data.sample.zacceptance, Rmax)185 SElength=Converter(data._xunit)(data.x, "A")186 #return sesans.HankelTransform(q_calc, SElength)187 #Old return statement, running through the smearer188 #return PySmear(SESANS1D(data,q_calc),model) -
src/sas/sasgui/perspectives/fitting/basepage.py
r9087214 r55db501 431 431 self.sizer2 = wx.BoxSizer(wx.VERTICAL) 432 432 self.sizer3 = wx.BoxSizer(wx.VERTICAL) 433 self.sizerTrafo = wx.BoxSizer(wx.VERTICAL)434 433 self.sizer4 = wx.BoxSizer(wx.VERTICAL) 435 434 self.sizer5 = wx.BoxSizer(wx.VERTICAL) … … 440 439 self.sizer2.SetMinSize((PANEL_WIDTH, -1)) 441 440 self.sizer3.SetMinSize((PANEL_WIDTH, -1)) 442 self.sizerTrafo.SetMinSize((PANEL_WIDTH, -1))443 441 self.sizer4.SetMinSize((PANEL_WIDTH, -1)) 444 442 self.sizer5.SetMinSize((PANEL_WIDTH, -1)) … … 449 447 self.vbox.Add(self.sizer2) 450 448 self.vbox.Add(self.sizer3) 451 self.vbox.Add(self.sizerTrafo)452 449 self.vbox.Add(self.sizer4) 453 450 self.vbox.Add(self.sizer5) -
src/sas/sasgui/perspectives/fitting/fitpage.py
r4581ac9 r55db501 55 55 self.weightbt_string = None 56 56 self.m_name = None 57 # transform implementation58 self._fill_Trafo_sizer()59 # self.Trafobt_string()60 57 # get smear info from data 61 58 self._get_smear_info() … … 95 92 self.parent.on_set_focus(event) 96 93 self.on_tap_focus() 97 98 def onTrafo(self, event):99 """100 On Trafo radio button event, sets the Trafobt_string101 """102 self.Trafobt_string = event.GetEventObject().GetLabelText()103 self._set_Trafo()104 105 def _fill_Trafo_sizer(self):106 107 title = "Transform"108 box_description_trafo = wx.StaticBox(self, wx.ID_ANY, str(title))109 box_description_trafo.SetForegroundColour(wx.BLUE)110 #boxsizer_trafo = wx.StaticBoxSizer(box_description_trafo, wx.VERTICAL)111 boxsizer_trafo = wx.StaticBoxSizer(box_description_trafo, wx.HORIZONTAL)112 #sizer_trafo = wx.StaticBoxSizer(box_description_trafo, wx.HORIZONTAL)113 #weighting_set_box = wx.StaticBox(self, wx.ID_ANY,114 # 'Select the type of SESANS analysis')115 116 #sizer_weighting = wx.BoxSizer(wx.HORIZONTAL)117 # weighting_box.SetMinSize((_DATA_BOX_WIDTH, 60))118 119 #For every radio button (each statement x3):120 self.no_transform = wx.RadioButton(self, wx.ID_ANY,121 'None', style=wx.RB_GROUP)122 123 #self.Bind(wx.EVT_RADIOBUTTON, self.onTrafo,124 # id=self.no_transform.GetId())125 self.hankel = wx.RadioButton(self, wx.ID_ANY,126 'Hankel')127 #self.Bind(wx.EVT_RADIOBUTTON, self.onTrafo,128 # id=self.hankel.GetId())129 self.cosine = wx.RadioButton(self, wx.ID_ANY,130 'Cosine')131 #self.Bind(wx.EVT_RADIOBUTTON, self.onTrafo,132 # id=self.cosine.GetId())133 134 #Not sure about this (only once though)135 self.no_transform.SetValue(True)136 137 #For every radio button (each statement x3):138 boxsizer_trafo.Add(self.no_transform, 0, wx.LEFT, 10)139 boxsizer_trafo.Add((14, 10))140 boxsizer_trafo.Add(self.hankel)141 boxsizer_trafo.Add((14, 10))142 boxsizer_trafo.Add(self.cosine)143 boxsizer_trafo.Add((14, 10))144 #Default for weighting is False, but these need to be on by default!145 self.no_transform.Enable(True)146 147 #Not sure about this (only once though)148 #weighting_box.Add(sizer_trafo)149 150 self.sizerTrafo.Clear(True)151 self.sizerTrafo.Add(boxsizer_trafo, 0, wx.EXPAND | wx.ALL, 10)152 #self.sizerTrafo.Add(sizer_trafo, 0, wx.EXPAND | wx.ALL, 10)153 self.sizerTrafo.Layout()154 94 155 95 def _fill_data_sizer(self):
Note: See TracChangeset
for help on using the changeset viewer.