Class ImagePtr


  • public class ImagePtr
    extends java.lang.Object
    Ptr stores a pointer and optionally takes ownership of the value.
    • Constructor Detail

      • ImagePtr

        public ImagePtr​(long cPtr,
                        boolean cMemoryOwn)
      • ImagePtr

        public ImagePtr()
        Default constructor yielding a NULL-pointer.
      • ImagePtr

        public ImagePtr​(Image ptr)
        Do not take ownership of ptr.

        ptr can be null.

        The constructor is implicit on purpose.
    • Method Detail

      • getCPtr

        public static long getCPtr​(ImagePtr obj)
      • delete

        public void delete()
      • deref

        public Image deref()
        The pointer stored in the object.
      • __ref__

        public Image __ref__()
        Dereferencing operator.
      • getDeref

        public Image getDeref()
        Member access operator.
      • equals

        public boolean equals​(Image p)
      • isShared

        public boolean isShared()
        check if this Ptr has shared ownership or none
        ownership
        Returns:
        true if Ptr has shared ownership, false if it has no ownership.
      • isNull

        public boolean isNull()
        checks if the pointer is null
        Returns:
        Returns true if the pointer is null
      • resize

        public void resize​(long width,
                           long height)
        resizes the current image.
        Parameters:
        width - [in] width in pixels
        height - [in] height in pixels
      • getImageData

        public java.lang.String getImageData()
        returns a char pointer to the image data
        Returns:
        char pointer to the image data
      • setImageData

        public void setImageData​(java.lang.String data)
        sets the data array of this image. Make sure to
        change the height and width accordingly.
      • getDataSize

        public long getDataSize()
        returns the size of the char data array
        Returns:
        size of char data array
      • getImageDimension

        public pair_ui_ui getImageDimension()
        returns the dimensions (width and height) of this image
        Returns:
        a pair of integers where first is the width and second
        is the height
      • getWidth

        public long getWidth()
        returns the width of this image
        Returns:
        image width
      • getHeight

        public long getHeight()
        returns the height of this image
        Returns:
        image height
      • getColorEncoding

        public Image.ColorCode getColorEncoding()
        returns color encoding/type of this image
        Returns:
        ColorCode of this image
      • getBitsPerPixel

        public long getBitsPerPixel()
        returns the number of bits per pixel. This is the number
        of bits used per pixel per channel.
        Returns:
        number of bits per pixel
      • saveAsPGM

        public boolean saveAsPGM​(java.lang.String fileName)
        saves this image to a file in the PGM (grayscale) format
        Parameters:
        fileName - [in] the name of the file that is to be created

        Returns:
        true if save was succesfull, false otherwise
      • saveAsPGMAscii

        public boolean saveAsPGMAscii​(java.lang.String fileName)
        saves this image to a file in the ascii PGM (grayscale) format
        Parameters:
        fileName - [in] the name of the file that is to be created
        Returns:
        true if save was succesfull, false otherwise
      • saveAsPPM

        public boolean saveAsPPM​(java.lang.String fileName)
        saves this image to a file in the PPM (color) format
        Parameters:
        fileName - [in] the name of the file that is to be created
        Returns:
        true if save was succesfull, false otherwise
      • getWidthStep

        public long getWidthStep()
        the size of an aligned image row in bytes. This may not be
        the same as the width if extra bytes are padded to each row for
        alignment purposes.
        Returns:
        size of aligned image row
      • getPixelDepth

        public Image.PixelDepth getPixelDepth()
        bits per pixel encoded as a PixelDepth type.
        Returns:
        the pixel depth
      • getNrOfChannels

        public long getNrOfChannels()
        The number of channels that this image has.
        Returns:
        nr of channels
      • getPixel

        public Pixel4f getPixel​(long x,
                                long y)
        generic but inefficient access to pixel information. The float
        value is between [0;1] which means non float images are scaled according to
        their pixel depth (bits per pixel).
        Parameters:
        x - [in] x coordinate
        y - [in] y coordinate
        Returns:
        up to 4 pixels (depends on nr of channels) in a float format
      • getPixel

        public void getPixel​(long x,
                             long y,
                             Pixel4f dst)
        generic but inefficient access to pixel information. The float
        value is between [0;1] which means non float images are scaled according to
        their pixel depth (bits per pixel).
        Parameters:
        x - [in] x coordinate
        y - [in] y coordinate
        dst - [out] up to 4 pixels (depends on nr of channels) in a float format
      • getPixel

        public void getPixel​(long x,
                             long y,
                             Image.Pixel4i dst)
        generic access to pixel information, however user must take care of the pixel
        depth himself. If image is a Depth8U then the maximum value is 254. Also float images
        are scaled accordingly.
        Parameters:
        x - [in] x coordinate
        y - [in] y coordinate
        dst - [out] up to 4 pixels (depends on nr of channels) in a float format
      • getPixelf

        public Pixel4f getPixelf​(long x,
                                 long y)
      • getPixeli

        public Image.Pixel4i getPixeli​(long x,
                                       long y)
        generic access to pixel information, however user must take care of the pixel
        depth himself. If image is a Depth8U then the maximum value is 254. Also float images
        are scaled accordingly.
        Parameters:
        x - [in] x coordinate
        y - [in] y coordinate
        Returns:
        up to 4 pixels (depends on nr of channels) as ints
      • getPixelValue

        public float getPixelValue​(long x,
                                   long y,
                                   long channel)
        generic but inefficient access to a specific channel of
        a pixel.
        Parameters:
        x - [in]
        y - [in]
        channel - documentation missing !
        Returns:
        the pixel value.
      • getPixelValuef

        public float getPixelValuef​(long x,
                                    long y,
                                    long channel)
      • getPixelValuei

        public int getPixelValuei​(long x,
                                  long y,
                                  long channel)
      • setPixel

        public void setPixel​(long x,
                             long y,
                             Pixel4f value)
      • setPixel8U

        public void setPixel8U​(int x,
                               int y,
                               short value)
        sets the gray tone in a 1-channel gray tone image with
        Parameters:
        x -
        y -
        value -
      • setPixel8U

        public void setPixel8U​(int x,
                               int y,
                               short ch0,
                               short ch1,
                               short ch2)
      • setPixel8U

        public void setPixel8U​(int x,
                               int y,
                               short ch0,
                               short ch1,
                               short ch2,
                               short ch3)
      • setPixel16U

        public void setPixel16U​(int x,
                                int y,
                                int value)
      • setPixel16U

        public void setPixel16U​(int x,
                                int y,
                                int ch0,
                                int ch1,
                                int ch2)
      • setPixel16U

        public void setPixel16U​(int x,
                                int y,
                                int ch0,
                                int ch1,
                                int ch2,
                                int ch3)
      • setPixel32F

        public void setPixel32F​(int x,
                                int y,
                                float value)
      • setPixel32F

        public void setPixel32F​(int x,
                                int y,
                                float ch0,
                                float ch1,
                                float ch2)
      • setPixel32F

        public void setPixel32F​(int x,
                                int y,
                                float ch0,
                                float ch1,
                                float ch2,
                                float ch3)
      • copyFlip

        public ImagePtr copyFlip​(boolean horizontal,
                                 boolean vertical)
        copies this image and flips it around horizontal or vertical axis or both.
        Returns:
        new image.