示例#1
0
    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()
示例#2
0
    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()
示例#3
0
# 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,:))
示例#4
0
# 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,:))