Changeset d1bee3f in sasview for src/sas/sasgui/perspectives/invariant
- Timestamp:
- Apr 8, 2017 3:51:45 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, magnetic_scatt, release-4.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- d3a06ce
- Parents:
- 6d6832e (diff), 861f1880 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Location:
- src/sas/sasgui/perspectives/invariant
- Files:
-
- 1 added
- 5 deleted
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sasgui/perspectives/invariant/invariant.py
rc10d9d6c r463e7ffc 27 27 from sas.sasgui.guiframe.plugin_base import PluginBase 28 28 29 logger = logging.getLogger(__name__) 30 29 31 class Plugin(PluginBase): 30 32 """ … … 46 48 47 49 # Log startup 48 logg ing.info("Invariant plug-in started")50 logger.info("Invariant plug-in started") 49 51 50 52 def get_data(self): … … 280 282 281 283 except: 282 logg ing.error("invariant.set_state: %s" % sys.exc_value)284 logger.error("invariant.set_state: %s" % sys.exc_value) 283 285 284 286 def on_set_state_helper(self, event=None): -
src/sas/sasgui/perspectives/invariant/invariant_panel.py
r18b7ecb9 r463e7ffc 24 24 from sas.sasgui.guiframe.panel_base import PanelBase 25 25 from sas.sasgui.guiframe.documentation_window import DocumentationWindow 26 27 logger = logging.getLogger(__name__) 26 28 27 29 # The minimum q-value to be used when extrapolating … … 460 462 self._manager.plot_theory(name="Low-Q extrapolation") 461 463 except: 462 logg ing.error(sys.exc_value)464 logger.error(sys.exc_value) 463 465 464 466 def get_high_qstar(self, inv, high_q=False): … … 494 496 self._manager.plot_theory(name="High-Q extrapolation") 495 497 except: 496 logg ing.error(sys.exc_value)498 logger.error(sys.exc_value) 497 499 498 500 def get_qstar(self, inv): … … 845 847 attr.SetValue(value) 846 848 except: 847 logg ing.error("Invariant state: %s", sys.exc_value)849 logger.error("Invariant state: %s", sys.exc_value) 848 850 849 851 def get_bookmark_by_num(self, num=None): … … 862 864 _, _, current_state, comp_state = self.state.bookmark_list[int(num)] 863 865 except: 864 logg ing.error(sys.exc_value)866 logger.error(sys.exc_value) 865 867 raise ValueError, "No such bookmark exists" 866 868 … … 957 959 self.state.clone_state() 958 960 except: 959 logg ing.error(sys.exc_value)961 logger.error(sys.exc_value) 960 962 961 963 self._set_undo_flag(True) … … 1001 1003 del self.state.state_list[str(i)] 1002 1004 except: 1003 logg ing.error(sys.exc_value)1005 logger.error(sys.exc_value) 1004 1006 # Enable the undo button if it was not 1005 1007 self._set_undo_flag(True) … … 1066 1068 del self.state.state_list[str(i)] 1067 1069 except: 1068 logg ing.error(sys.exc_value)1070 logger.error(sys.exc_value) 1069 1071 1070 1072 # try to add new state of the text changes in the state_list … … 1081 1083 self.state.state_list[str(self.state.state_num)] = self.state.clone_state() 1082 1084 except: 1083 logg ing.error(sys.exc_value)1085 logger.error(sys.exc_value) 1084 1086 1085 1087 self._set_undo_flag(True) … … 1103 1105 self.state.state_list[str(self.state.state_num)] = self.state.clone_state() 1104 1106 except: 1105 logg ing.error(sys.exc_value)1107 logger.error(sys.exc_value) 1106 1108 1107 1109 def _get_input_list(self): -
src/sas/sasgui/perspectives/invariant/invariant_state.py
rdb5294e r463e7ffc 16 16 from sas.sasgui.guiframe.gui_style import GUIFRAME_ID 17 17 from sas.sasgui.guiframe.dataFitting import Data1D 18 19 logger = logging.getLogger(__name__) 18 20 19 21 INVNODE_NAME = 'invariant' … … 381 383 msg = "InvariantSate.fromXML: Could not read" 382 384 msg += " timestamp\n %s" % sys.exc_value 383 logg ing.error(msg)385 logger.error(msg) 384 386 385 387 # Parse bookmarks … … 694 696 msg = "XML document does not contain invariant" 695 697 msg += " information.\n %s" % sys.exc_value 696 logg ing.info(msg)698 logger.info(msg) 697 699 return state 698 700 -
src/sas/sasgui/perspectives/invariant/report_dialog.py
rd85c194 r463e7ffc 20 20 21 21 from sas.sasgui.guiframe.report_dialog import BaseReportDialog 22 23 logger = logging.getLogger(__name__) 22 24 23 25 class ReportDialog(BaseReportDialog): … … 92 94 except: 93 95 # DO not open 94 logg ing.error("Could not open file: %s" % sys.exc_value)96 logger.error("Could not open file: %s" % sys.exc_value) 95 97 # delete image file 96 98 os.remove(pic_fname) -
src/sas/sasgui/perspectives/invariant/media/invariant_help.rst
r484141c r094b9eb 10 10 ----------- 11 11 12 The scattering, or Porod, invariant ( Q*\) is a model-independent quantity that12 The scattering, or Porod, invariant ($Q^*$) is a model-independent quantity that 13 13 can be easily calculated from scattering data. 14 14 15 For two phase systems, the scattering invariant is defined as the integral of 16 the square of the wave transfer (Q) multiplied by the scattering cross section17 over the full range of Qfrom zero to infinity, that is15 For two phase systems, the scattering invariant is defined as the integral of 16 the square of the wavevector transfer ($Q$) multiplied by the scattering cross section 17 over the full range of $Q$ from zero to infinity, that is 18 18 19 .. image:: image001.gif19 .. math:: 20 20 21 where *g = q* for pinhole geometry (SAS) and *g = q*\ :sub:`v` (the slit height) for 22 slit geometry (USAS). 21 Q^* = \int_0^\infty q^2I(q)\,dq 23 22 24 The worth of Q*\ is that it can be used to determine the volume fraction and 25 the specific area of a sample. Whilst these quantities are useful in their own 23 in the case of pinhole geometry. For slit geometry the invariant is given by 24 25 .. math:: 26 27 Q^* = \Delta q_v \int_0^\infty qI(q)\,dq 28 29 where $\Delta q_v$ is the slit height. 30 31 The worth of $Q^*$ is that it can be used to determine the volume fraction and 32 the specific area of a sample. Whilst these quantities are useful in their own 26 33 right they can also be used in further analysis. 27 34 28 The difficulty with using Q*\ arises from the fact that experimental data is29 never measured over the range 0 =< *Q* =< infinity. At best, combining USAS and30 WAS data might cover the range 1e-5 =< *Q* =< 10 1/\ |Ang| . Thus it is usually31 necessary to extrapolate the experimental data to low and high *Q*. For this35 The difficulty with using $Q^*$ arises from the fact that experimental data is 36 never measured over the range $0 \le Q \le \infty$. At best, combining USAS and 37 WAS data might cover the range $10^{-5} \le Q \le 10$ 1/\ |Ang| . Thus it is usually 38 necessary to extrapolate the experimental data to low and high $Q$. For this 32 39 33 High- *Q*region (>= *Qmax* in data)40 High-\ $Q$ region (>= *Qmax* in data) 34 41 35 * The power law function *C*/*Q*\ :sup:`4` is used where the constant36 *C* (= 2.\ |pi|\ .(\ |bigdelta|\ |rho|\ ).\ *Sv*\ ) is to be found by fitting part of data37 within the range *Q*\ :sub:`N-m` to *Q*\ :sub:`N` (where m < N).42 * The power law function $C/Q^4$ is used where the constant 43 $C = 2 \pi \Delta\rho S_v$ is to be found by fitting part of data 44 within the range $Q_{N-m}$ to $Q_N$ (where $m < N$). 38 45 39 Low- *Q*region (<= *Qmin* in data)46 Low-\ $Q$ region (<= *Qmin* in data) 40 47 41 * The Guinier function *I0.exp(-Rg*\ :sup:`2`\ *Q*\ :sup:`2`\ */3)* where *I0*42 and *Rg* are obtained by fitting as for the high-*Q* region above.48 * The Guinier function $I_0 exp(-R_g^2 Q^2/3)$ where $I_0$ 49 and $R_g$ are obtained by fitting as for the high-\ $Q$ region above. 43 50 Alternatively a power law can be used. 44 51 … … 52 59 2) Load some data with the *Data Explorer*. 53 60 54 3) Select a dataset and use the *Send To* button on the *Data Explorer* to load 61 3) Select a dataset and use the *Send To* button on the *Data Explorer* to load 55 62 the dataset into the *Invariant* panel. 56 63 57 4) Use the *Customised Input* boxes on the *Invariant* panel to subtract 58 any background, specify the contrast (i.e. difference in SLDs - this must be 59 specified for the eventual value of Q*\ to be on an absolute scale), or to64 4) Use the *Customised Input* boxes on the *Invariant* panel to subtract 65 any background, specify the contrast (i.e. difference in SLDs - this must be 66 specified for the eventual value of $Q^*$ to be on an absolute scale), or to 60 67 rescale the data. 61 68 62 5) Adjust the extrapolation range as necessary. In most cases the default 69 5) Adjust the extrapolation range as necessary. In most cases the default 63 70 values will suffice. 64 71 65 72 6) Click the *Compute* button. 66 73 67 7) To include a lower and/or higher Q range, check the relevant *Enable74 7) To include a lower and/or higher $Q$ range, check the relevant *Enable 68 75 Extrapolate* check boxes. 69 70 If power law extrapolations are chosen, the exponent can be either held 71 fixed or fitted. The number of points, Npts, to be used for the basis of the 76 77 If power law extrapolations are chosen, the exponent can be either held 78 fixed or fitted. The number of points, Npts, to be used for the basis of the 72 79 extrapolation can also be specified. 73 80 74 8) If the value of Q*\ calculated with the extrapolated regions is invalid, a81 8) If the value of $Q^*$ calculated with the extrapolated regions is invalid, a 75 82 red warning will appear at the top of the *Invariant* panel. 76 83 77 The details of the calculation are available by clicking the *Details* 84 The details of the calculation are available by clicking the *Details* 78 85 button in the middle of the panel. 79 86 80 .. image:: image005. gif87 .. image:: image005.png 81 88 82 89 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ … … 88 95 ^^^^^^^^^^^^^^^ 89 96 90 The volume fraction |phi| is related to Q*\by97 The volume fraction $\phi$ is related to $Q^*$ by 91 98 92 .. image:: image002.gif99 .. math:: 93 100 94 where |bigdelta|\ |rho| is the SLD contrast. 101 \phi(1 - \phi) = \frac{Q^*}{2\pi^2(\Delta\rho)^2} \equiv A 95 102 96 .. image:: image003.gif 103 where $\Delta\rho$ is the SLD contrast. 104 105 .. math:: 106 107 \phi = \frac{1 \pm \sqrt{1 - 4A}}{2} 97 108 98 109 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ … … 101 112 ^^^^^^^^^^^^^^^^^^^^^ 102 113 103 The specific surface area *Sv* is related to Q*\by114 The specific surface area $S_v$ is related to $Q^*$ by 104 115 105 .. image:: image004.gif116 .. math:: 106 117 107 where *Cp* is the Porod constant. 118 S_v = \frac{2\pi\phi(1-\phi)C_p}{Q^*} = \frac{2\pi A C_p}{Q^*} 119 120 where $C_p$ is the Porod constant. 108 121 109 122 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
Note: See TracChangeset
for help on using the changeset viewer.