edu.stanford.rsl.konrad.cuda
Class CUDAVolume3D

java.lang.Object
  extended by edu.stanford.rsl.konrad.volume3d.Volume3D
      extended by edu.stanford.rsl.konrad.cuda.CUDAVolume3D

public class CUDAVolume3D
extends Volume3D

CUDAVolume3D models a Volume3D in the CUDA memory. All functions of Volume3D are also available for this class, but directly implemented in CUDA. If an algorithm is implemented and tested using Volume3D, it can easily ported to CUDA by setting the VolumeOperator to CUDAVolumeOperator. The AnisotropicFilterFunction is a nice example on how to use this interface.

Author:
akmaier
See Also:
CUDAVolumeOperator, Volume3D, VolumeOperator

Field Summary
 
Fields inherited from class edu.stanford.rsl.konrad.volume3d.Volume3D
data, dim, dimensions, in_dim, MAX_DIM, size
 
Constructor Summary
CUDAVolume3D(ij.ImagePlus image, int mirror, int cuty, boolean uneven)
           
CUDAVolume3D(int[] size2, float[] dim2, int inDim)
           
 
Method Summary
 void destroy()
          releases the memory on the device for this volume.
 void fetch()
          Fetches the data from the CUDA memory to the Java memory.
 jcuda.driver.CUdeviceptr getDevicePointer()
           
 void setDevicePointer(jcuda.driver.CUdeviceptr deviceX)
           
 void updateOnDevice()
          Moves the data from the Java memory to the CUDA memory
 
Methods inherited from class edu.stanford.rsl.konrad.volume3d.Volume3D
getImagePlus, getImagePlus, getInternalDimension, printSize
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CUDAVolume3D

public CUDAVolume3D(int[] size2,
                    float[] dim2,
                    int inDim)

CUDAVolume3D

public CUDAVolume3D(ij.ImagePlus image,
                    int mirror,
                    int cuty,
                    boolean uneven)
Method Detail

fetch

public void fetch()
Fetches the data from the CUDA memory to the Java memory.


updateOnDevice

public void updateOnDevice()
Moves the data from the Java memory to the CUDA memory


destroy

public void destroy()
releases the memory on the device for this volume.

Overrides:
destroy in class Volume3D

getDevicePointer

public jcuda.driver.CUdeviceptr getDevicePointer()

setDevicePointer

public void setDevicePointer(jcuda.driver.CUdeviceptr deviceX)