Hm. You need numpy 1.9 http://docs.scipy.org/doc/numpy-dev/release.html
I have 1.4 2014-05-09 18:21 GMT+02:00 Edward d'Auvergne <[email protected]>: > Here is a demo: > > """ > from numpy import array, float64, percentile > > a = array(range(100001), float64) > print(percentile(a, 90)) > print(percentile(a, 50)) > print(percentile(a, 20)) > print(percentile(a, 10)) > """ > > Regards, > > Edward > > > > On 9 May 2014 18:14, Edward d'Auvergne <[email protected]> wrote: >> 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 _______________________________________________ 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

