def __init__(self, nodes, data, psf, alpha, blocksize = {'x':64, 'y':64, 'z':256}, blockoverlap = {'x':10, 'y':10, 'z':50}): self.tc = tcluster.ThreadedCluster(nodes) self.blocksize = blocksize self.blockoverlap = blockoverlap self.data = data self.alpha = alpha self.psf = psf #print shape(data) (self.height, self.width, self.depth) = shape(self.data) if (self.width > self.blocksize['y']): #self.sp_y = [0,] #print self.sp_y self.sp_y = range(0,(self.width-self.blocksize['y']), (self.blocksize['y'] -2*self.blockoverlap['y'])) #self.sp_y.extend(range((self.blocksize['y'] -2*self.blockoverlap['y']),(self.width-self.blocksize['y']), self.blocksize['y'])) #print self.sp_y self.sp_y.append(self.width-self.blocksize['y']) else: self.sp_y = [0,] self.blocksize['y'] = self.width if (self.height > self.blocksize['x']): #self.sp_x = [0,] self.sp_x = range(0,(self.height-self.blocksize['x']), (self.blocksize['x'] -2*self.blockoverlap['x'])) #self.sp_x.extend(range((self.blocksize['x'] -2*self.blockoverlap['x']),(self.width-self.blocksize['x']), self.blocksize['x'])) self.sp_x.append(self.height-self.blocksize['x']) else: self.sp_x = [0,] self.blocksize['x'] = self.height if (self.depth > self.blocksize['z']): #self.sp_z = [0,] self.sp_z = range(0,(self.depth-self.blocksize['z']), (self.blocksize['z'] -2*self.blockoverlap['z'])) #self.sp_z.extend(range((self.blocksize['z'] -2*self.blockoverlap['z']),(self.width-self.blocksize['z']), self.blocksize['z'])) self.sp_z.append(self.depth-self.blocksize['z']) else: self.sp_z = [0,] self.blocksize['z'] = self.depth #print self.sp_y #print self.sp_x #print self.sp_z self.d4 = dec.dec_4pi_c()
# GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # ################## __test__= False if __name__ == '__main__': import dec from scipy import * import profile (x,y,z) = mgrid[-32:31,-32:31,-128:127] g = exp(-(x**2 + y**2 + z**2)) h = exp(-(x**2 + y**2 + (z/3.0)**2)) d4 = dec.dec_4pi_c() d4.psf_calc(h,1,shape(g)) d4.prepare() profile.run("f = d4.deconv(ravel(cast['f'](g)), 1, alpha=g)") #f = reshape(d4.Afunc(ravel(g)), shape(g)) #gplt.surf(f(:,5,:)) #f2 = d4.deconv(ravel(cast['f'](f)), 1, alpha=g) #figure #gplt.surf(f2(:,5,:))
# GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # ################## __test__= False if __name__ == '__main__': import dec import numpy as np import profile (x,y,z) = np.mgrid[-32:31,-32:31,-128:127] g = np.exp(-(x**2 + y**2 + z**2)) h = np.exp(-(x**2 + y**2 + (z/3.0)**2)) d4 = dec.dec_4pi_c() d4.psf_calc(h,1,np.shape(g)) d4.prepare() profile.run("f = d4.deconv(ravel(cast['f'](g)), 1, alpha=g)") #f = reshape(d4.Afunc(ravel(g)), shape(g)) #gplt.surf(f(:,5,:)) #f2 = d4.deconv(ravel(cast['f'](f)), 1, alpha=g) #figure #gplt.surf(f2(:,5,:))