Class Interleave

java.lang.Object
skyview.geometry.projecter.Interleave

public class Interleave extends Object
This class implements bit interleaving for two-d images. The pixel and indices methods are complementary enabling users to transform between a scalar bit-interleaved index and a set of normal array indices.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Create a default interleaver with that can handle 512x512 images in a single iteration.
    Interleave(int order)
    Create an interleaver with a specified buffer size for the array lookups.
  • Method Summary

    Modifier and Type
    Method
    Description
    long
    ImgToRing(long pix, int size)
    Given the index in natural image order (y*nx+x), get the nested index.
    int[]
    indices(long pixel)
    Separate interleaved pixels bits into the x and y values.
    static void
    main(String[] args)
     
    long
    pixel(int x, int y)
     
    int
    quickImgToRing(int pix)
    This method can only be used if the dimension exactly matches the order for the Interleave.
    int
    quickRingToImg(int pix)
    This method can only be used if the Interleave order exactly matches the dimesion of the image.
    long
    ringToImg(long pix, int size)
    Given an a pixel with an interleaved index.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Interleave

      public Interleave(int order)
      Create an interleaver with a specified buffer size for the array lookups. The interleaver will be able to handle large interleaves but will break them up into bit strings of the specified order length.
      Parameters:
      order - The number of bits in to be [de]interleaved in an iteration.
    • Interleave

      public Interleave()
      Create a default interleaver with that can handle 512x512 images in a single iteration.
  • Method Details

    • pixel

      public long pixel(int x, int y)
    • indices

      public int[] indices(long pixel)
      Separate interleaved pixels bits into the x and y values.
      Parameters:
      pixel -
      Returns:
    • ringToImg

      public long ringToImg(long pix, int size)
      Given an a pixel with an interleaved index. return the index into the image as if it simply indexed in natural image order (y*nx+x)
      Parameters:
      pix -
      size -
      Returns:
    • quickRingToImg

      public int quickRingToImg(int pix)
      This method can only be used if the Interleave order exactly matches the dimesion of the image. E.g., if our tiles have 512x512 pixels then the order must be 9.
      Parameters:
      pix -
      Returns:
    • ImgToRing

      public long ImgToRing(long pix, int size)
      Given the index in natural image order (y*nx+x), get the nested index.
    • quickImgToRing

      public int quickImgToRing(int pix)
      This method can only be used if the dimension exactly matches the order for the Interleave.
    • main

      public static void main(String[] args) throws Exception
      Throws:
      Exception