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 <[email protected]> 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, <[email protected]> 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 >> [email protected] >> >> 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 _______________________________________________ relax (http://www.nmr-relax.com) This is the relax-devel mailing list [email protected] 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-devel

