mailRe: r23132 - /trunk/pipe_control/opendx.py


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

Header


Content

Posted by Edward d'Auvergne on May 09, 2014 - 18:15:
You may also want to try this logic:

"""
from numpy import percentile

all_chi2 = array(all_chi2, float64)
self.contour_levels = []
self.contour_levels.append(percentile(all_chi2, 90))
self.contour_levels.append(percentile(all_chi2, 50))
self.contour_levels.append(percentile(all_chi2, 20))
self.contour_levels.append(percentile(all_chi2, 10))
"""

This might work better with OpenDX.

Regards,

Edward




On 9 May 2014 18:08, Edward d'Auvergne <edward@xxxxxxxxxxxxx> wrote:
Hi Troels,

A better way to handle this would be to pass in an array of 4 values
for the isosurface levels into write_program().  Then you can change
these values as needed in pipe_control.opendx and not have to worry
about what happens in lib.software.opendx ever again.  It would
decouple the logic and be much more flexible.

Regards,

Edward

On 9 May 2014 17:33,  <tlinnet@xxxxxxxxxxxxx> wrote:
Author: tlinnet
Date: Fri May  9 17:33:05 2014
New Revision: 23132

URL: http://svn.gna.org/viewcvs/relax?rev=23132&view=rev
Log:
Made collecting of min, max and median value of chi2, when creating the 
chi2 map.

task #7792: (https://gna.org/task/?7792) Make the dx.map write suggest chi 
surface values.

Modified:
    trunk/pipe_control/opendx.py

Modified: trunk/pipe_control/opendx.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/pipe_control/opendx.py?rev=23132&r1=23131&r2=23132&view=diff
==============================================================================
--- trunk/pipe_control/opendx.py        (original)
+++ trunk/pipe_control/opendx.py        Fri May  9 17:33:05 2014
@@ -24,7 +24,7 @@


 # Python module imports.
-from numpy import float64, array, zeros
+from numpy import float64, array, median, zeros
 from time import asctime, localtime

 # relax module imports.
@@ -164,8 +164,11 @@
         # Create the strings associated with the map axes.
         self.map_axes()

+        # Generate the map.
+        self.create_map()
+
         # Create the OpenDX .net program file.
-        write_program(file_prefix=self.file_prefix, 
point_file=self.point_file, dir=self.dir, inc=self.inc, N=self.n, 
num_points=self.num_points, labels=self.labels, 
tick_locations=self.tick_locations, tick_values=self.tick_values, 
date=self.date)
+        write_program(file_prefix=self.file_prefix, 
point_file=self.point_file, dir=self.dir, inc=self.inc, N=self.n, 
num_points=self.num_points, labels=self.labels, 
tick_locations=self.tick_locations, tick_values=self.tick_values, 
date=self.date, min_chi2=self.min_chi2, max_chi2=self.max_chi2, 
median_chi2=self.median_chi2)

         # Create the OpenDX .cfg program configuration file.
         write_config(file_prefix=self.file_prefix, dir=self.dir, 
date=self.date)
@@ -176,9 +179,6 @@
         # Create the OpenDX .general and data files for the given point.
         if self.num_points > 1:
             write_point(file_prefix=self.point_file, dir=self.dir, 
inc=self.inc, point=self.point, num_points=self.num_points, 
bounds=self.bounds, N=self.n)
-
-        # Generate the map.
-        self.create_map()


     def create_map(self):
@@ -211,6 +211,11 @@
         percent = 0.0
         percent_inc = 100.0 / (self.inc + 1.0)**(self.n - 1.0)
         print("%-10s%8.3f%-1s" % ("Progress:", percent, "%"))
+
+        # Define min/max chi2 values.
+        min_chi2 = 1e20
+        max_chi2 = 1.
+        all_chi = []

         # Fix the diffusion tensor.
         unfix = False
@@ -257,6 +262,14 @@
                     else:
                         map_file.write("%30f\n" % chi2)

+                        # Save min and max values of chi2.
+                        all_chi.append(chi2)
+                        if chi2 < min_chi2:
+                            min_chi2 = chi2
+
+                        if chi2 > max_chi2:
+                            max_chi2 = chi2
+
                     # Increment the value of the third parameter.
                     values[2] = values[2] + self.step_size[2]

@@ -274,6 +287,11 @@
         if unfix:
             cdp.diff_tensor.fixed = False

+        # Save the min/max chi2 values.
+        self.min_chi2 = min_chi2
+        self.max_chi2 = max_chi2
+        # Save the median chi2 value.
+        self.median_chi2 = median(array(all_chi))

     def map_axes(self):
         """Function for creating labels, tick locations, and tick values 
for an OpenDX map."""


_______________________________________________
relax (http://www.nmr-relax.com)

This is the relax-commits mailing list
relax-commits@xxxxxxx

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-commits



Related Messages


Powered by MHonArc, Updated Fri May 09 18:40:12 2014