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
def At( self , x ): return gr.backproj( x.astype( myfloat ) , self.angles , self.lut , self.param_spline )