Esempio n. 1
0
        public Image Reconstruct(bool isctf, string symmetry = "C1", int planForw = -1, int planBack = -1, int planForwCTF = -1, int griddingiterations = 10, bool useHostMemory = false)
        {
            if (useHostMemory)
            {
                Data.FreeDevice();
                Weights.FreeDevice();
            }

            Image Reconstruction = useHostMemory ? new Image(Dims, isctf) : new Image(IntPtr.Zero, Dims, isctf);

            GPU.BackprojectorReconstructGPU(Dims,
                                            DimsOversampled,
                                            Oversampling,
                                            useHostMemory ? Data.GetHostPinned(Intent.ReadWrite) : Data.GetDevice(Intent.ReadWrite),
                                            useHostMemory ? Weights.GetHostPinned(Intent.ReadWrite) : Weights.GetDevice(Intent.ReadWrite),
                                            symmetry,
                                            isctf,
                                            useHostMemory ? Reconstruction.GetHostPinned(Intent.Write) : Reconstruction.GetDevice(Intent.Write),
                                            planForw,
                                            planBack,
                                            planForwCTF,
                                            griddingiterations);

            return(Reconstruction);
        }
Esempio n. 2
0
 public void Reconstruct(IntPtr d_reconstruction, bool isctf, string symmetry = "C1", int planForw = -1, int planBack = -1, int planForwCTF = -1, int griddingiterations = 10)
 {
     GPU.BackprojectorReconstructGPU(Dims,
                                     DimsOversampled,
                                     Oversampling,
                                     Data.GetDevice(Intent.Read),
                                     Weights.GetDevice(Intent.Read),
                                     symmetry,
                                     isctf,
                                     d_reconstruction,
                                     planForw,
                                     planBack,
                                     planForwCTF,
                                     griddingiterations);
 }
Esempio n. 3
0
        public Image Reconstruct(bool isctf, int planForw = -1, int planBack = -1, int planForwCTF = -1)
        {
            Image Reconstruction = new Image(IntPtr.Zero, Dims, isctf);

            GPU.BackprojectorReconstructGPU(Dims,
                                            DimsOversampled,
                                            Oversampling,
                                            Data.GetDevice(Intent.Read),
                                            Weights.GetDevice(Intent.Read),
                                            isctf,
                                            Reconstruction.GetDevice(Intent.Write),
                                            planForw,
                                            planBack,
                                            planForwCTF);

            return(Reconstruction);
        }
Esempio n. 4
0
        public Image Reconstruct(bool isctf, string symmetry = "C1", int planForw = -1, int planBack = -1, int planForwCTF = -1, int griddingiterations = 10)
        {
            Image Reconstruction = new Image(IntPtr.Zero, Dims, isctf);

            GPU.BackprojectorReconstructGPU(Dims,
                                            DimsOversampled,
                                            Oversampling,
                                            Data.GetDevice(Intent.Read),
                                            Weights.GetDevice(Intent.Read),
                                            symmetry,
                                            isctf,
                                            Reconstruction.GetDevice(Intent.Write),
                                            planForw,
                                            planBack,
                                            planForwCTF,
                                            griddingiterations);

            return(Reconstruction);
        }