Ignore:
Timestamp:
Apr 4, 2017 12:50:04 PM (7 years ago)
Author:
Ricardo Ferraz Leal <ricleal@…>
Branches:
master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
Children:
f2940c4
Parents:
463e7ffc (diff), 1779e72 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

After merge conflict

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/sas/sascalc/calculator/sas_gen.py

    r463e7ffc r9c0f3c17  
    77from periodictable import formula 
    88from periodictable import nsf 
    9 import numpy 
     9import numpy as np 
    1010import os 
    1111import copy 
     
    8282        ## Parameter details [units, min, max] 
    8383        self.details = {} 
    84         self.details['scale'] = ['', 0.0, numpy.inf] 
    85         self.details['background'] = ['[1/cm]', 0.0, numpy.inf] 
    86         self.details['solvent_SLD'] = ['1/A^(2)', -numpy.inf, numpy.inf] 
    87         self.details['total_volume'] = ['A^(3)', 0.0, numpy.inf] 
     84        self.details['scale'] = ['', 0.0, np.inf] 
     85        self.details['background'] = ['[1/cm]', 0.0, np.inf] 
     86        self.details['solvent_SLD'] = ['1/A^(2)', -np.inf, np.inf] 
     87        self.details['total_volume'] = ['A^(3)', 0.0, np.inf] 
    8888        self.details['Up_frac_in'] = ['[u/(u+d)]', 0.0, 1.0] 
    8989        self.details['Up_frac_out'] = ['[u/(u+d)]', 0.0, 1.0] 
    90         self.details['Up_theta'] = ['[deg]', -numpy.inf, numpy.inf] 
     90        self.details['Up_theta'] = ['[deg]', -np.inf, np.inf] 
    9191        # fixed parameters 
    9292        self.fixed = [] 
     
    173173                msg = "Not a 1D." 
    174174                raise ValueError, msg 
    175             i_out = numpy.zeros_like(x[0]) 
     175            i_out = np.zeros_like(x[0]) 
    176176            # 1D I is found at y =0 in the 2D pattern 
    177177            out = self._gen(x[0], [], i_out) 
     
    189189        """ 
    190190        if x.__class__.__name__ == 'list': 
    191             i_out = numpy.zeros_like(x[0]) 
     191            i_out = np.zeros_like(x[0]) 
    192192            out = self._gen(x[0], x[1], i_out) 
    193193            return out 
     
    239239        self.omfdata = omfdata 
    240240        length = int(omfdata.xnodes * omfdata.ynodes * omfdata.znodes) 
    241         pos_x = numpy.arange(omfdata.xmin, 
     241        pos_x = np.arange(omfdata.xmin, 
    242242                             omfdata.xnodes*omfdata.xstepsize + omfdata.xmin, 
    243243                             omfdata.xstepsize) 
    244         pos_y = numpy.arange(omfdata.ymin, 
     244        pos_y = np.arange(omfdata.ymin, 
    245245                             omfdata.ynodes*omfdata.ystepsize + omfdata.ymin, 
    246246                             omfdata.ystepsize) 
    247         pos_z = numpy.arange(omfdata.zmin, 
     247        pos_z = np.arange(omfdata.zmin, 
    248248                             omfdata.znodes*omfdata.zstepsize + omfdata.zmin, 
    249249                             omfdata.zstepsize) 
    250         self.pos_x = numpy.tile(pos_x, int(omfdata.ynodes * omfdata.znodes)) 
     250        self.pos_x = np.tile(pos_x, int(omfdata.ynodes * omfdata.znodes)) 
    251251        self.pos_y = pos_y.repeat(int(omfdata.xnodes)) 
    252         self.pos_y = numpy.tile(self.pos_y, int(omfdata.znodes)) 
     252        self.pos_y = np.tile(self.pos_y, int(omfdata.znodes)) 
    253253        self.pos_z = pos_z.repeat(int(omfdata.xnodes * omfdata.ynodes)) 
    254254        self.mx = omfdata.mx 
    255255        self.my = omfdata.my 
    256256        self.mz = omfdata.mz 
    257         self.sld_n = numpy.zeros(length) 
     257        self.sld_n = np.zeros(length) 
    258258 
    259259        if omfdata.mx == None: 
    260             self.mx = numpy.zeros(length) 
     260            self.mx = np.zeros(length) 
    261261        if omfdata.my == None: 
    262             self.my = numpy.zeros(length) 
     262            self.my = np.zeros(length) 
    263263        if omfdata.mz == None: 
    264             self.mz = numpy.zeros(length) 
     264            self.mz = np.zeros(length) 
    265265 
    266266        self._check_data_length(length) 
    267267        self.remove_null_points(False, False) 
    268         mask = numpy.ones(len(self.sld_n), dtype=bool) 
     268        mask = np.ones(len(self.sld_n), dtype=bool) 
    269269        if shape.lower() == 'ellipsoid': 
    270270            try: 
     
    330330        """ 
    331331        if remove: 
    332             is_nonzero = (numpy.fabs(self.mx) + numpy.fabs(self.my) + 
    333                           numpy.fabs(self.mz)).nonzero() 
     332            is_nonzero = (np.fabs(self.mx) + np.fabs(self.my) + 
     333                          np.fabs(self.mz)).nonzero() 
    334334            if len(is_nonzero[0]) > 0: 
    335335                self.pos_x = self.pos_x[is_nonzero] 
     
    371371        """ 
    372372        desc = "" 
    373         mx = numpy.zeros(0) 
    374         my = numpy.zeros(0) 
    375         mz = numpy.zeros(0) 
     373        mx = np.zeros(0) 
     374        my = np.zeros(0) 
     375        mz = np.zeros(0) 
    376376        try: 
    377377            input_f = open(path, 'rb') 
     
    391391                    _my = mag2sld(_my, valueunit) 
    392392                    _mz = mag2sld(_mz, valueunit) 
    393                     mx = numpy.append(mx, _mx) 
    394                     my = numpy.append(my, _my) 
    395                     mz = numpy.append(mz, _mz) 
     393                    mx = np.append(mx, _mx) 
     394                    my = np.append(my, _my) 
     395                    mz = np.append(mz, _mz) 
    396396                except: 
    397397                    # Skip non-data lines 
     
    503503        :raise RuntimeError: when the file can't be opened 
    504504        """ 
    505         pos_x = numpy.zeros(0) 
    506         pos_y = numpy.zeros(0) 
    507         pos_z = numpy.zeros(0) 
    508         sld_n = numpy.zeros(0) 
    509         sld_mx = numpy.zeros(0) 
    510         sld_my = numpy.zeros(0) 
    511         sld_mz = numpy.zeros(0) 
    512         vol_pix = numpy.zeros(0) 
    513         pix_symbol = numpy.zeros(0) 
     505        pos_x = np.zeros(0) 
     506        pos_y = np.zeros(0) 
     507        pos_z = np.zeros(0) 
     508        sld_n = np.zeros(0) 
     509        sld_mx = np.zeros(0) 
     510        sld_my = np.zeros(0) 
     511        sld_mz = np.zeros(0) 
     512        vol_pix = np.zeros(0) 
     513        pix_symbol = np.zeros(0) 
    514514        x_line = [] 
    515515        y_line = [] 
     
    545545                        _pos_y = float(line[38:46].strip()) 
    546546                        _pos_z = float(line[46:54].strip()) 
    547                         pos_x = numpy.append(pos_x, _pos_x) 
    548                         pos_y = numpy.append(pos_y, _pos_y) 
    549                         pos_z = numpy.append(pos_z, _pos_z) 
     547                        pos_x = np.append(pos_x, _pos_x) 
     548                        pos_y = np.append(pos_y, _pos_y) 
     549                        pos_z = np.append(pos_z, _pos_z) 
    550550                        try: 
    551551                            val = nsf.neutron_sld(atom_name)[0] 
    552552                            # sld in Ang^-2 unit 
    553553                            val *= 1.0e-6 
    554                             sld_n = numpy.append(sld_n, val) 
     554                            sld_n = np.append(sld_n, val) 
    555555                            atom = formula(atom_name) 
    556556                            # cm to A units 
    557557                            vol = 1.0e+24 * atom.mass / atom.density / NA 
    558                             vol_pix = numpy.append(vol_pix, vol) 
     558                            vol_pix = np.append(vol_pix, vol) 
    559559                        except: 
    560560                            print "Error: set the sld of %s to zero"% atom_name 
    561                             sld_n = numpy.append(sld_n, 0.0) 
    562                         sld_mx = numpy.append(sld_mx, 0) 
    563                         sld_my = numpy.append(sld_my, 0) 
    564                         sld_mz = numpy.append(sld_mz, 0) 
    565                         pix_symbol = numpy.append(pix_symbol, atom_name) 
     561                            sld_n = np.append(sld_n, 0.0) 
     562                        sld_mx = np.append(sld_mx, 0) 
     563                        sld_my = np.append(sld_my, 0) 
     564                        sld_mz = np.append(sld_mz, 0) 
     565                        pix_symbol = np.append(pix_symbol, atom_name) 
    566566                    elif line[0:6].strip().count('CONECT') > 0: 
    567567                        toks = line.split() 
     
    632632        """ 
    633633        try: 
    634             pos_x = numpy.zeros(0) 
    635             pos_y = numpy.zeros(0) 
    636             pos_z = numpy.zeros(0) 
    637             sld_n = numpy.zeros(0) 
    638             sld_mx = numpy.zeros(0) 
    639             sld_my = numpy.zeros(0) 
    640             sld_mz = numpy.zeros(0) 
     634            pos_x = np.zeros(0) 
     635            pos_y = np.zeros(0) 
     636            pos_z = np.zeros(0) 
     637            sld_n = np.zeros(0) 
     638            sld_mx = np.zeros(0) 
     639            sld_my = np.zeros(0) 
     640            sld_mz = np.zeros(0) 
    641641            try: 
    642642                # Use numpy to speed up loading 
    643                 input_f = numpy.loadtxt(path, dtype='float', skiprows=1, 
     643                input_f = np.loadtxt(path, dtype='float', skiprows=1, 
    644644                                        ndmin=1, unpack=True) 
    645                 pos_x = numpy.array(input_f[0]) 
    646                 pos_y = numpy.array(input_f[1]) 
    647                 pos_z = numpy.array(input_f[2]) 
    648                 sld_n = numpy.array(input_f[3]) 
    649                 sld_mx = numpy.array(input_f[4]) 
    650                 sld_my = numpy.array(input_f[5]) 
    651                 sld_mz = numpy.array(input_f[6]) 
     645                pos_x = np.array(input_f[0]) 
     646                pos_y = np.array(input_f[1]) 
     647                pos_z = np.array(input_f[2]) 
     648                sld_n = np.array(input_f[3]) 
     649                sld_mx = np.array(input_f[4]) 
     650                sld_my = np.array(input_f[5]) 
     651                sld_mz = np.array(input_f[6]) 
    652652                ncols = len(input_f) 
    653653                if ncols == 8: 
    654                     vol_pix = numpy.array(input_f[7]) 
     654                    vol_pix = np.array(input_f[7]) 
    655655                elif ncols == 7: 
    656656                    vol_pix = None 
     
    671671                        _sld_my = float(toks[5]) 
    672672                        _sld_mz = float(toks[6]) 
    673                         pos_x = numpy.append(pos_x, _pos_x) 
    674                         pos_y = numpy.append(pos_y, _pos_y) 
    675                         pos_z = numpy.append(pos_z, _pos_z) 
    676                         sld_n = numpy.append(sld_n, _sld_n) 
    677                         sld_mx = numpy.append(sld_mx, _sld_mx) 
    678                         sld_my = numpy.append(sld_my, _sld_my) 
    679                         sld_mz = numpy.append(sld_mz, _sld_mz) 
     673                        pos_x = np.append(pos_x, _pos_x) 
     674                        pos_y = np.append(pos_y, _pos_y) 
     675                        pos_z = np.append(pos_z, _pos_z) 
     676                        sld_n = np.append(sld_n, _sld_n) 
     677                        sld_mx = np.append(sld_mx, _sld_mx) 
     678                        sld_my = np.append(sld_my, _sld_my) 
     679                        sld_mz = np.append(sld_mz, _sld_mz) 
    680680                        try: 
    681681                            _vol_pix = float(toks[7]) 
    682                             vol_pix = numpy.append(vol_pix, _vol_pix) 
     682                            vol_pix = np.append(vol_pix, _vol_pix) 
    683683                        except: 
    684684                            vol_pix = None 
     
    714714        sld_n = data.sld_n 
    715715        if sld_n == None: 
    716             sld_n = numpy.zeros(length) 
     716            sld_n = np.zeros(length) 
    717717        sld_mx = data.sld_mx 
    718718        if sld_mx == None: 
    719             sld_mx = numpy.zeros(length) 
    720             sld_my = numpy.zeros(length) 
    721             sld_mz = numpy.zeros(length) 
     719            sld_mx = np.zeros(length) 
     720            sld_my = np.zeros(length) 
     721            sld_mz = np.zeros(length) 
    722722        else: 
    723723            sld_my = data.sld_my 
     
    895895            if self.is_data: 
    896896                # For data, put the value to only the pixels w non-zero M 
    897                 is_nonzero = (numpy.fabs(self.sld_mx) + 
    898                               numpy.fabs(self.sld_my) + 
    899                               numpy.fabs(self.sld_mz)).nonzero() 
    900                 self.sld_n = numpy.zeros(len(self.pos_x)) 
     897                is_nonzero = (np.fabs(self.sld_mx) + 
     898                              np.fabs(self.sld_my) + 
     899                              np.fabs(self.sld_mz)).nonzero() 
     900                self.sld_n = np.zeros(len(self.pos_x)) 
    901901                if len(self.sld_n[is_nonzero]) > 0: 
    902902                    self.sld_n[is_nonzero] = sld_n 
     
    905905            else: 
    906906                # For non-data, put the value to all the pixels 
    907                 self.sld_n = numpy.ones(len(self.pos_x)) * sld_n 
     907                self.sld_n = np.ones(len(self.pos_x)) * sld_n 
    908908        else: 
    909909            self.sld_n = sld_n 
     
    914914        """ 
    915915        if sld_mx.__class__.__name__ == 'float': 
    916             self.sld_mx = numpy.ones(len(self.pos_x)) * sld_mx 
     916            self.sld_mx = np.ones(len(self.pos_x)) * sld_mx 
    917917        else: 
    918918            self.sld_mx = sld_mx 
    919919        if sld_my.__class__.__name__ == 'float': 
    920             self.sld_my = numpy.ones(len(self.pos_x)) * sld_my 
     920            self.sld_my = np.ones(len(self.pos_x)) * sld_my 
    921921        else: 
    922922            self.sld_my = sld_my 
    923923        if sld_mz.__class__.__name__ == 'float': 
    924             self.sld_mz = numpy.ones(len(self.pos_x)) * sld_mz 
     924            self.sld_mz = np.ones(len(self.pos_x)) * sld_mz 
    925925        else: 
    926926            self.sld_mz = sld_mz 
    927927 
    928         sld_m = numpy.sqrt(sld_mx * sld_mx + sld_my * sld_my + \ 
     928        sld_m = np.sqrt(sld_mx * sld_mx + sld_my * sld_my + \ 
    929929                                sld_mz * sld_mz) 
    930930        self.sld_m = sld_m 
     
    938938            return 
    939939        if symbol.__class__.__name__ == 'str': 
    940             self.pix_symbol = numpy.repeat(symbol, len(self.sld_n)) 
     940            self.pix_symbol = np.repeat(symbol, len(self.sld_n)) 
    941941        else: 
    942942            self.pix_symbol = symbol 
     
    952952            self.vol_pix = vol 
    953953        elif vol.__class__.__name__.count('float') > 0: 
    954             self.vol_pix = numpy.repeat(vol, len(self.sld_n)) 
     954            self.vol_pix = np.repeat(vol, len(self.sld_n)) 
    955955        else: 
    956956            self.vol_pix = None 
     
    995995                for x_pos in self.pos_x: 
    996996                    if xpos_pre != x_pos: 
    997                         self.xstepsize = numpy.fabs(x_pos - xpos_pre) 
     997                        self.xstepsize = np.fabs(x_pos - xpos_pre) 
    998998                        break 
    999999                for y_pos in self.pos_y: 
    10001000                    if ypos_pre != y_pos: 
    1001                         self.ystepsize = numpy.fabs(y_pos - ypos_pre) 
     1001                        self.ystepsize = np.fabs(y_pos - ypos_pre) 
    10021002                        break 
    10031003                for z_pos in self.pos_z: 
    10041004                    if zpos_pre != z_pos: 
    1005                         self.zstepsize = numpy.fabs(z_pos - zpos_pre) 
     1005                        self.zstepsize = np.fabs(z_pos - zpos_pre) 
    10061006                        break 
    10071007                #default pix volume 
    1008                 self.vol_pix = numpy.ones(len(self.pos_x)) 
     1008                self.vol_pix = np.ones(len(self.pos_x)) 
    10091009                vol = self.xstepsize * self.ystepsize * self.zstepsize 
    10101010                self.set_pixel_volumes(vol) 
     
    10731073    y2 = output.pos_y+output.sld_my/max_m * gap 
    10741074    z2 = output.pos_z+output.sld_mz/max_m * gap 
    1075     x_arrow = numpy.column_stack((output.pos_x, x2)) 
    1076     y_arrow = numpy.column_stack((output.pos_y, y2)) 
    1077     z_arrow = numpy.column_stack((output.pos_z, z2)) 
     1075    x_arrow = np.column_stack((output.pos_x, x2)) 
     1076    y_arrow = np.column_stack((output.pos_y, y2)) 
     1077    z_arrow = np.column_stack((output.pos_z, z2)) 
    10781078    unit_x2 = output.sld_mx / max_m 
    10791079    unit_y2 = output.sld_my / max_m 
    10801080    unit_z2 = output.sld_mz / max_m 
    1081     color_x = numpy.fabs(unit_x2 * 0.8) 
    1082     color_y = numpy.fabs(unit_y2 * 0.8) 
    1083     color_z = numpy.fabs(unit_z2 * 0.8) 
    1084     colors = numpy.column_stack((color_x, color_y, color_z)) 
     1081    color_x = np.fabs(unit_x2 * 0.8) 
     1082    color_y = np.fabs(unit_y2 * 0.8) 
     1083    color_z = np.fabs(unit_z2 * 0.8) 
     1084    colors = np.column_stack((color_x, color_y, color_z)) 
    10851085    plt.show() 
    10861086 
     
    11051105    model = GenSAS() 
    11061106    model.set_sld_data(foutput.output) 
    1107     x = numpy.arange(1000)/10000. + 1e-5 
    1108     y = numpy.arange(1000)/10000. + 1e-5 
    1109     i = numpy.zeros(1000) 
     1107    x = np.arange(1000)/10000. + 1e-5 
     1108    y = np.arange(1000)/10000. + 1e-5 
     1109    i = np.zeros(1000) 
    11101110    model.runXY([x, y, i]) 
    11111111 
Note: See TracChangeset for help on using the changeset viewer.