Changeset 355ee8b in sasmodels
- Timestamp:
- Mar 8, 2017 3:41:03 PM (8 years ago)
- Branches:
- master, core_shell_microgels, costrafo411, magnetic_model, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
- Children:
- b32caab
- Parents:
- ceb8a8c
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sasmodels/resolution.py
r7b7fcf0 r355ee8b 17 17 18 18 MINIMUM_RESOLUTION = 1e-8 19 20 21 # When extrapolating to -q, what is the minimum positive q relative to q_min 22 # that we wish to calculate? 23 MIN_Q_SCALE_FOR_NEGATIVE_Q_EXTRAPOLATION = 0.01 19 MINIMUM_ABSOLUTE_Q = 0.02 # relative to the minimum q in the data 24 20 25 21 class Resolution(object): … … 82 78 self.q_calc = (pinhole_extend_q(q, q_width, nsigma=nsigma) 83 79 if q_calc is None else np.sort(q_calc)) 80 81 # Protect against models which are not defined for very low q. Limit 82 # the smallest q value evaluated (in absolute) to 0.02*min 83 cutoff = MINIMUM_ABSOLUTE_Q*np.min(self.q) 84 self.q_calc = self.q_calc[abs(self.q_calc) >= cutoff] 85 86 # Build weight matrix from calculated q values 84 87 self.weight_matrix = pinhole_resolution(self.q_calc, self.q, 85 88 np.maximum(q_width, MINIMUM_RESOLUTION)) … … 124 127 self.q_calc = slit_extend_q(q, qx_width, qy_width) \ 125 128 if q_calc is None else np.sort(q_calc) 129 130 # Protect against models which are not defined for very low q. Limit 131 # the smallest q value evaluated (in absolute) to 0.02*min 132 cutoff = MINIMUM_ABSOLUTE_Q*np.min(self.q) 133 self.q_calc = self.q_calc[abs(self.q_calc) >= cutoff] 134 135 # Build weight matrix from calculated q values 126 136 self.weight_matrix = \ 127 137 slit_resolution(self.q_calc, self.q, qx_width, qy_width) … … 394 404 interval. 395 405 396 if *q_min* is zero or less then *q[0]/10* is used instead.406 Note that extrapolated values may be negative. 397 407 """ 398 408 q = np.sort(q) 399 409 if q_min + 2*MINIMUM_RESOLUTION < q[0]: 400 if q_min <= 0: q_min = q_min*MIN_Q_SCALE_FOR_NEGATIVE_Q_EXTRAPOLATION401 410 n_low = np.ceil((q[0]-q_min) / (q[1]-q[0])) if q[1] > q[0] else 15 402 411 q_low = np.linspace(q_min, q[0], n_low+1)[:-1]
Note: See TracChangeset
for help on using the changeset viewer.