Class Interleave

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

public class Interleave
extends java.lang.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
    Interleave()
    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​(java.lang.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​(java.lang.String[] args) throws java.lang.Exception
      Throws:
      java.lang.Exception