Beispiel #1
0
    def fbp( self , x ):
        ##  Option DPC
        if self.radon_degree == 0:
            dpc = False
        else:
            dpc = True

        
        ##  Filtering projection
        x[:] = fil.filter_proj( x , ftype=self.filt , dpc=dpc )
        if self.plot is True:
            dis.plot( x , 'Filtered sinogram' )
    
        
        ##  Backprojection
        reco = gr.backproj( x.astype( myfloat ) , self.angles , self.lut , self.param_spline )


        ##  Normalization
        if dpc is True:
            reco *= np.pi / ( 1.0 * self.nang )
        else:
            reco *= np.pi / ( 2.0 * self.nang )         

        return reco
    def fbp(self, x):
        ##  Option DPC
        x0 = x[:, ::-1].copy()
        if self.radon_degree == 0:
            dpc = False
        else:
            dpc = True

        ##  Filtering projection
        x0[:] = fil.filter_proj(x0, ftype=self.filt, dpc=dpc)

        ##  Backprojection
        reco = gr.backproj(x0.astype(myfloat), self.angles, self.lut0,
                           self.param_spline)

        ##  Normalization
        if dpc is True:
            reco *= np.pi / (1.0 * self.nang)
        else:
            reco *= np.pi / (2.0 * self.nang)

        reco[:] = reco[::-1, ::-1]

        return reco
Beispiel #3
0
 def At( self , x ):
     return gr.backproj( x.astype( myfloat ) , self.angles , self.lut , self.param_spline )