Changes in src/sas/sasgui/plottools/PlotPanel.py [c1d5aea:463e7ffc] in sasview
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sasgui/plottools/PlotPanel.py
rc1d5aea r463e7ffc 29 29 DEFAULT_CMAP = pylab.cm.jet 30 30 import copy 31 import numpy as np31 import numpy 32 32 33 33 from sas.sasgui.guiframe.events import StatusEvent … … 1403 1403 if self.scale == 'log_{10}': 1404 1404 self.scale = 'linear' 1405 if self.zmin_2D is notNone:1405 if not self.zmin_2D is None: 1406 1406 zmin_2D_temp = math.pow(10, self.zmin_2D) 1407 if self.zmax_2D is notNone:1407 if not self.zmax_2D is None: 1408 1408 zmax_2D_temp = math.pow(10, self.zmax_2D) 1409 1409 else: 1410 1410 self.scale = 'log_{10}' 1411 if self.zmin_2D is notNone:1411 if not self.zmin_2D is None: 1412 1412 # min log value: no log(negative) 1413 1413 if self.zmin_2D <= 0: … … 1415 1415 else: 1416 1416 zmin_2D_temp = math.log10(self.zmin_2D) 1417 if self.zmax_2D is notNone:1417 if not self.zmax_2D is None: 1418 1418 zmax_2D_temp = math.log10(self.zmax_2D) 1419 1419 … … 1454 1454 if self.zmin_2D <= 0 and len(output[output > 0]) > 0: 1455 1455 zmin_temp = self.zmin_2D 1456 output[output > 0] = n p.log10(output[output > 0])1456 output[output > 0] = numpy.log10(output[output > 0]) 1457 1457 #In log scale Negative values are not correct in general 1458 #output[output<=0] = math.log(n p.min(output[output>0]))1458 #output[output<=0] = math.log(numpy.min(output[output>0])) 1459 1459 elif self.zmin_2D <= 0: 1460 1460 zmin_temp = self.zmin_2D 1461 output[output > 0] = n p.zeros(len(output))1461 output[output > 0] = numpy.zeros(len(output)) 1462 1462 output[output <= 0] = -32 1463 1463 else: 1464 1464 zmin_temp = self.zmin_2D 1465 output[output > 0] = n p.log10(output[output > 0])1465 output[output > 0] = numpy.log10(output[output > 0]) 1466 1466 #In log scale Negative values are not correct in general 1467 #output[output<=0] = math.log(n p.min(output[output>0]))1467 #output[output<=0] = math.log(numpy.min(output[output>0])) 1468 1468 except: 1469 1469 #Too many problems in 2D plot with scale … … 1494 1494 X = self.x_bins[0:-1] 1495 1495 Y = self.y_bins[0:-1] 1496 X, Y = n p.meshgrid(X, Y)1496 X, Y = numpy.meshgrid(X, Y) 1497 1497 1498 1498 try: … … 1557 1557 # 1d array to use for weighting the data point averaging 1558 1558 #when they fall into a same bin. 1559 weights_data = n p.ones([self.data.size])1559 weights_data = numpy.ones([self.data.size]) 1560 1560 # get histogram of ones w/len(data); this will provide 1561 1561 #the weights of data on each bins 1562 weights, xedges, yedges = n p.histogram2d(x=self.qy_data,1562 weights, xedges, yedges = numpy.histogram2d(x=self.qy_data, 1563 1563 y=self.qx_data, 1564 1564 bins=[self.y_bins, self.x_bins], 1565 1565 weights=weights_data) 1566 1566 # get histogram of data, all points into a bin in a way of summing 1567 image, xedges, yedges = n p.histogram2d(x=self.qy_data,1567 image, xedges, yedges = numpy.histogram2d(x=self.qy_data, 1568 1568 y=self.qx_data, 1569 1569 bins=[self.y_bins, self.x_bins], … … 1583 1583 # do while loop until all vacant bins are filled up up 1584 1584 #to loop = max_loop 1585 while not(n p.isfinite(image[weights == 0])).all():1585 while not(numpy.isfinite(image[weights == 0])).all(): 1586 1586 if loop >= max_loop: # this protects never-ending loop 1587 1587 break … … 1632 1632 1633 1633 # store x and y bin centers in q space 1634 x_bins = n p.linspace(xmin, xmax, npix_x)1635 y_bins = n p.linspace(ymin, ymax, npix_y)1634 x_bins = numpy.linspace(xmin, xmax, npix_x) 1635 y_bins = numpy.linspace(ymin, ymax, npix_y) 1636 1636 1637 1637 #set x_bins and y_bins … … 1652 1652 """ 1653 1653 # No image matrix given 1654 if image == None or n p.ndim(image) != 2 \1655 or n p.isfinite(image).all() \1654 if image == None or numpy.ndim(image) != 2 \ 1655 or numpy.isfinite(image).all() \ 1656 1656 or weights == None: 1657 1657 return image … … 1659 1659 len_y = len(image) 1660 1660 len_x = len(image[1]) 1661 temp_image = n p.zeros([len_y, len_x])1662 weit = n p.zeros([len_y, len_x])1661 temp_image = numpy.zeros([len_y, len_x]) 1662 weit = numpy.zeros([len_y, len_x]) 1663 1663 # do for-loop for all pixels 1664 1664 for n_y in range(len(image)): 1665 1665 for n_x in range(len(image[1])): 1666 1666 # find only null pixels 1667 if weights[n_y][n_x] > 0 or n p.isfinite(image[n_y][n_x]):1667 if weights[n_y][n_x] > 0 or numpy.isfinite(image[n_y][n_x]): 1668 1668 continue 1669 1669 else: 1670 1670 # find 4 nearest neighbors 1671 1671 # check where or not it is at the corner 1672 if n_y != 0 and n p.isfinite(image[n_y - 1][n_x]):1672 if n_y != 0 and numpy.isfinite(image[n_y - 1][n_x]): 1673 1673 temp_image[n_y][n_x] += image[n_y - 1][n_x] 1674 1674 weit[n_y][n_x] += 1 1675 if n_x != 0 and n p.isfinite(image[n_y][n_x - 1]):1675 if n_x != 0 and numpy.isfinite(image[n_y][n_x - 1]): 1676 1676 temp_image[n_y][n_x] += image[n_y][n_x - 1] 1677 1677 weit[n_y][n_x] += 1 1678 if n_y != len_y - 1 and n p.isfinite(image[n_y + 1][n_x]):1678 if n_y != len_y - 1 and numpy.isfinite(image[n_y + 1][n_x]): 1679 1679 temp_image[n_y][n_x] += image[n_y + 1][n_x] 1680 1680 weit[n_y][n_x] += 1 1681 if n_x != len_x - 1 and n p.isfinite(image[n_y][n_x + 1]):1681 if n_x != len_x - 1 and numpy.isfinite(image[n_y][n_x + 1]): 1682 1682 temp_image[n_y][n_x] += image[n_y][n_x + 1] 1683 1683 weit[n_y][n_x] += 1 1684 1684 # go 4 next nearest neighbors when no non-zero 1685 1685 # neighbor exists 1686 if n_y != 0 and n_x != 0 and 1687 np.isfinite(image[n_y - 1][n_x - 1]):1686 if n_y != 0 and n_x != 0 and\ 1687 numpy.isfinite(image[n_y - 1][n_x - 1]): 1688 1688 temp_image[n_y][n_x] += image[n_y - 1][n_x - 1] 1689 1689 weit[n_y][n_x] += 1 1690 1690 if n_y != len_y - 1 and n_x != 0 and \ 1691 np.isfinite(image[n_y + 1][n_x - 1]):1691 numpy.isfinite(image[n_y + 1][n_x - 1]): 1692 1692 temp_image[n_y][n_x] += image[n_y + 1][n_x - 1] 1693 1693 weit[n_y][n_x] += 1 1694 1694 if n_y != len_y and n_x != len_x - 1 and \ 1695 np.isfinite(image[n_y - 1][n_x + 1]):1695 numpy.isfinite(image[n_y - 1][n_x + 1]): 1696 1696 temp_image[n_y][n_x] += image[n_y - 1][n_x + 1] 1697 1697 weit[n_y][n_x] += 1 1698 1698 if n_y != len_y - 1 and n_x != len_x - 1 and \ 1699 np.isfinite(image[n_y + 1][n_x + 1]):1699 numpy.isfinite(image[n_y + 1][n_x + 1]): 1700 1700 temp_image[n_y][n_x] += image[n_y + 1][n_x + 1] 1701 1701 weit[n_y][n_x] += 1
Note: See TracChangeset
for help on using the changeset viewer.