Class EquirectangularDistortBase_F64

All Implemented Interfaces:
Direct Known Subclasses:
CameraToEquirectangular_F64, CylinderToEquirectangular_F64, EquirectangularRotate_F64

public abstract class EquirectangularDistortBase_F64
extends Object
implements PixelTransform<Point2D_F64>
Base class for all distortions from an equirectangular image. The output image precomputes pointing vectors from a canonical view. The source pixel is then computed by rotating each vector and computing the longitude and latitude.
  • Constructor Details

    • EquirectangularDistortBase_F64

      public EquirectangularDistortBase_F64()
  • Method Details

    • setEquirectangularShape

      public void setEquirectangularShape​(int width, int height)
      Specify the shame of the equirectangular image
      width - equirectangular image width
      height - equirectangular image height
    • setConcurrent

      public void setConcurrent​(EquirectangularDistortBase_F64 original)
      Set for concurrent code. Doesn't copy expensive model variables
    • setDirection

      public void setDirection​(double yaw, double pitch, double roll)
      Specifies the rotation offset from the canonical location using yaw and pitch.
      yaw - Radian from -pi to pi
      pitch - Radian from -pi/2 to pi/2
      roll - Radian from -pi to pi
    • setDirection

      public void setDirection​(DMatrixRMaj R)
      Specifies direction using a rotation matrix
      R - rotation matrix
    • declareVectors

      protected void declareVectors​(int width, int height)
      Declares storage for precomputed pointing vectors to output image
      width - output image width
      height - output image height
    • compute

      public void compute​(int x, int y, Point2D_F64 out)
      Input is in pinhole camera pixel coordinates. Output is in equirectangular coordinates
      Specified by:
      compute in interface PixelTransform<Point2D_F64>
      x - Pixel x-coordinate in rendered pinhole camera
      y - Pixel y-coordinate in rendered pinhole camera
      out - The transformed pixel
    • getTools

      public EquirectangularTools_F64 getTools()
    • getRotation

      public DMatrixRMaj getRotation()