mailr19899 - /branches/relax_disp/specific_analyses/relax_disp/__init__.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on June 06, 2013 - 18:17:
Author: bugman
Date: Thu Jun  6 18:17:13 2013
New Revision: 19899

URL: http://svn.gna.org/viewcvs/relax?rev=19899&view=rev
Log:
The dispersion specific optimisation methods can now handle missing 
spectrometer information.


Modified:
    branches/relax_disp/specific_analyses/relax_disp/__init__.py

Modified: branches/relax_disp/specific_analyses/relax_disp/__init__.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/relax_disp/specific_analyses/relax_disp/__init__.py?rev=19899&r1=19898&r2=19899&view=diff
==============================================================================
--- branches/relax_disp/specific_analyses/relax_disp/__init__.py (original)
+++ branches/relax_disp/specific_analyses/relax_disp/__init__.py Thu Jun  6 
18:17:13 2013
@@ -124,11 +124,18 @@
         # Create a scaling matrix.
         scaling_matrix = assemble_scaling_matrix(spins=[spin], scaling=False)
 
+        # Number of spectrometer fields.
+        fields = [None]
+        field_count = 1
+        if hasattr(cdp, 'spectrometer_frq_count'):
+            fields = cdp.spectrometer_frq_list
+            field_count = cdp.spectrometer_frq_count
+
         # Initialise the data structures for the target function.
-        values, errors, missing, frqs = return_r2eff_arrays(spins=[spin], 
spin_ids=[spin_id], fields=cdp.spectrometer_frq_list, 
field_count=cdp.spectrometer_frq_count)
+        values, errors, missing, frqs = return_r2eff_arrays(spins=[spin], 
spin_ids=[spin_id], fields=fields, field_count=field_count)
 
         # Initialise the relaxation dispersion fit functions.
-        model = Dispersion(model=cdp.model, 
num_params=param_num(spins=[spin]), num_spins=1, 
num_frq=cdp.spectrometer_frq_count, num_disp_points=cdp.dispersion_points, 
values=values, errors=errors, missing=missing, frqs=frqs, 
cpmg_frqs=return_cpmg_frqs(ref_flag=False), 
spin_lock_nu1=return_spin_lock_nu1(ref_flag=False), 
scaling_matrix=scaling_matrix)
+        model = Dispersion(model=cdp.model, 
num_params=param_num(spins=[spin]), num_spins=1, num_frq=field_count, 
num_disp_points=cdp.dispersion_points, values=values, errors=errors, 
missing=missing, frqs=frqs, cpmg_frqs=return_cpmg_frqs(ref_flag=False), 
spin_lock_nu1=return_spin_lock_nu1(ref_flag=False), 
scaling_matrix=scaling_matrix)
 
         # Make a single function call.  This will cause back calculation and 
the data will be stored in the class instance.
         model.func(param_vector)
@@ -1221,13 +1228,20 @@
         if hasattr(cdp, 'num_time_pts'):
             num_time_pts = cdp.num_time_pts
 
+        # Number of spectrometer fields.
+        fields = [None]
+        field_count = 1
+        if hasattr(cdp, 'spectrometer_frqs'):
+            fields = cdp.spectrometer_frq_list
+            field_count = cdp.spectrometer_frq_count
+
         # Loop over the spin blocks.
         for spin_ids in self.model_loop():
             # The spin containers.
             spins = self._spin_ids_to_containers(spin_ids)
 
             # The R2eff/R1rho data.
-            values, errors, missing, frqs = return_r2eff_arrays(spins=spins, 
spin_ids=spin_ids, fields=cdp.spectrometer_frq_list, 
field_count=cdp.spectrometer_frq_count)
+            values, errors, missing, frqs = return_r2eff_arrays(spins=spins, 
spin_ids=spin_ids, fields=fields, field_count=field_count)
 
             # Create the initial parameter vector.
             param_vector = assemble_param_vector(spins=spins)
@@ -1260,7 +1274,7 @@
                     print("Unconstrained grid search size: %s (constraints 
may decrease this size).\n" % grid_size)
 
             # Initialise the function to minimise.
-            model = Dispersion(model=cdp.model, 
num_params=param_num(spins=spins), num_spins=len(spins), 
num_frq=cdp.spectrometer_frq_count, num_disp_points=cdp.dispersion_points, 
values=values, errors=errors, missing=missing, frqs=frqs, 
cpmg_frqs=return_cpmg_frqs(ref_flag=False), 
spin_lock_nu1=return_spin_lock_nu1(ref_flag=False), 
scaling_matrix=scaling_matrix)
+            model = Dispersion(model=cdp.model, 
num_params=param_num(spins=spins), num_spins=len(spins), num_frq=field_count, 
num_disp_points=cdp.dispersion_points, values=values, errors=errors, 
missing=missing, frqs=frqs, cpmg_frqs=return_cpmg_frqs(ref_flag=False), 
spin_lock_nu1=return_spin_lock_nu1(ref_flag=False), 
scaling_matrix=scaling_matrix)
 
             # Grid search.
             if search('^[Gg]rid', min_algor):




Related Messages


Powered by MHonArc, Updated Thu Jun 06 18:40:01 2013