mailr19738 - in /branches/relax_disp/specific_analyses/relax_disp: __init__.py cpmgfit.py disp_data.py


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

Header


Content

Posted by edward on May 24, 2013 - 17:39:
Author: bugman
Date: Fri May 24 17:39:43 2013
New Revision: 19738

URL: http://svn.gna.org/viewcvs/relax?rev=19738&view=rev
Log:
The relaxation dispersion specific code now uses the changes of the 
spectrometer.frequency user function.

This simplifies the handling of magnetic field strength data.


Modified:
    branches/relax_disp/specific_analyses/relax_disp/__init__.py
    branches/relax_disp/specific_analyses/relax_disp/cpmgfit.py
    branches/relax_disp/specific_analyses/relax_disp/disp_data.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=19738&r1=19737&r2=19738&view=diff
==============================================================================
--- branches/relax_disp/specific_analyses/relax_disp/__init__.py (original)
+++ branches/relax_disp/specific_analyses/relax_disp/__init__.py Fri May 24 
17:39:43 2013
@@ -120,19 +120,11 @@
         # Create a scaling matrix.
         scaling_matrix = assemble_scaling_matrix(spins=[spin], scaling=False)
 
-        # The number of spectrometer field strengths.
-        field_count = 1
-        fields = []
-        if hasattr(cdp, 'frq'):
-            fields = unique_elements(cdp.frq.values())
-            fields.sort()
-            field_count = len(fields)
-
         # Initialise the data structures for the target function.
-        values, errors, missing = return_r2eff_arrays(spins=[spin], 
spin_ids=[spin_id], fields=fields, field_count=field_count)
+        values, errors, missing = return_r2eff_arrays(spins=[spin], 
spin_ids=[spin_id], fields=cdp.spectrometer_frq_list, 
field_count=cdp.spectrometer_frq_count)
 
         # Initialise the relaxation dispersion fit functions.
-        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=fields, 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=cdp.spectrometer_frq_count, num_disp_points=cdp.dispersion_points, 
values=values, errors=errors, missing=missing, 
frqs=cdp.spectrometer_frq_list, 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)
@@ -1014,14 +1006,6 @@
             # Exit the method.
             return
 
-        # The number of spectrometer field strengths.
-        field_count = 1
-        fields = []
-        if hasattr(cdp, 'frq'):
-            fields = unique_elements(cdp.frq.values())
-            fields.sort()
-            field_count = len(fields)
-
         # The number of time points for the exponential curves (if present).
         num_time_pts = 1
         if hasattr(cdp, 'num_time_pts'):
@@ -1030,7 +1014,7 @@
         # Loop over the spin blocks.
         for spins, spin_ids in self.model_loop():
             # The R2eff/R1rho data.
-            values, errors, missing = return_r2eff_arrays(spins=spins, 
spin_ids=spin_ids, fields=fields, field_count=field_count)
+            values, errors, missing = return_r2eff_arrays(spins=spins, 
spin_ids=spin_ids, fields=cdp.spectrometer_frq_list, 
field_count=cdp.spectrometer_frq_count)
 
             # Create the initial parameter vector.
             param_vector = assemble_param_vector(spins=spins)
@@ -1063,7 +1047,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=field_count, 
num_disp_points=cdp.dispersion_points, values=values, errors=errors, 
missing=missing, frqs=fields, 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=cdp.spectrometer_frq_count, num_disp_points=cdp.dispersion_points, 
values=values, errors=errors, missing=missing, 
frqs=cdp.spectrometer_frq_list, 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):

Modified: branches/relax_disp/specific_analyses/relax_disp/cpmgfit.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/relax_disp/specific_analyses/relax_disp/cpmgfit.py?rev=19738&r1=19737&r2=19738&view=diff
==============================================================================
--- branches/relax_disp/specific_analyses/relax_disp/cpmgfit.py (original)
+++ branches/relax_disp/specific_analyses/relax_disp/cpmgfit.py Fri May 24 
17:39:43 2013
@@ -190,12 +190,7 @@
     file.write("title %s\n" % spin_id)
 
     # The proton frequencies.
-    frq = get_frequencies()
-
-    # Loop over each frequency.
-    for i in range(len(frq)):
-        # Convert to Tesla.
-        frq[i] = frq[i] * 2.0 * pi / g1H
+    frq = get_frequencies(units='T')
 
     # The frequency info.
     file.write("fields %s" % len(frq))
@@ -234,7 +229,6 @@
             continue
 
         # Tesla units.
-        print frq
         B0 = frq * 2.0 * pi / g1H
 
         # Write out the data and error.

Modified: branches/relax_disp/specific_analyses/relax_disp/disp_data.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/relax_disp/specific_analyses/relax_disp/disp_data.py?rev=19738&r1=19737&r2=19738&view=diff
==============================================================================
--- branches/relax_disp/specific_analyses/relax_disp/disp_data.py (original)
+++ branches/relax_disp/specific_analyses/relax_disp/disp_data.py Fri May 24 
17:39:43 2013
@@ -157,8 +157,8 @@
     for id in cdp.spectrum_ids:
         # The spectrometer frequency.
         frq2 = None
-        if hasattr(cdp, 'frq'):
-            frq2 = cdp.frq[id]
+        if hasattr(cdp, 'spectrometer_frq'):
+            frq2 = cdp.spectrometer_frq[id]
 
         if frq2 == frq and disp_data[id] == point and cdp.relax_times[id] == 
time:
             ids.append(id)
@@ -178,16 +178,8 @@
     @rtype:     float
     """
 
-    # The number of spectrometer field strengths.
-    field_count = 1
-    fields = [None]
-    if hasattr(cdp, 'frq'):
-        field_count = count_unique_elements(cdp.frq.values())
-        fields = unique_elements(cdp.frq.values())
-        fields.sort()
-
     # Yield each unique spectrometer field strength.
-    for field in fields:
+    for field in cdp.spectrometer_frq_list:
         yield field
 
 
@@ -370,17 +362,8 @@
     @rtype:         int
     """
 
-    # Initialise.
-    index = 0
-
-    # Find the index if the frequency has been set.
-    if hasattr(cdp, 'frq'):
-        fields = unique_elements(cdp.frq.values())
-        fields.sort()
-        index = fields.index(value)
-
     # Return the index.
-    return index
+    return cdp.spectrometer_frq_list.index(value)
 
 
 def return_index_from_disp_point_key(key):
@@ -597,15 +580,11 @@
     """
 
     # No data.
-    if not hasattr(cdp, 'frq'):
+    if not hasattr(cdp, 'spectrometer_frq'):
         return None
 
-    # The number of spectrometer field strengths.
-    fields = unique_elements(cdp.frq.values())
-    fields.sort()
-
     # Return the field.
-    return fields[frq_index]
+    return cdp.spectrometer_frq[frq_index]
 
 
 def spin_lock_field(spectrum_id=None, field=None):




Related Messages


Powered by MHonArc, Updated Fri May 24 18:00:02 2013