Class ComplexInterpolatedPlot

java.lang.Object
org.opensourcephysics.display.MeasuredImage
org.opensourcephysics.display2d.ComplexInterpolatedPlot
All Implemented Interfaces:
Drawable, Measurable, Plot2D
Direct Known Subclasses:
ComplexCarpet, ComplexContourPlot

public class ComplexInterpolatedPlot extends MeasuredImage implements Plot2D
ComplexInterpolatedPlot creates an image of a scalar field by interpolating every image pixel to an untabulated point (x,y) in the 2d data. This interpolation smooths the resulting image.
Version:
1.0
Author:
Wolfgang Christian
  • Field Details

    • pixelData

      protected byte[] pixelData
    • imageType

      protected int imageType
      used to indicate to the ColorMapper what kind of pixels to write, TYPE_4BYTE_ABGR for Java or TYPE_4BYTE_HTML5 for JavaScript
  • Constructor Details

    • ComplexInterpolatedPlot

      public ComplexInterpolatedPlot(GridData _griddata)
      Constructs the ComplexInterpolatedPlot using the given 2d datset.
      Parameters:
      _griddata -
  • Method Details

    • xToIndex

      public int xToIndex(double x)
      Gets closest index from the given x world coordinate.
      Specified by:
      xToIndex in interface Plot2D
      Parameters:
      x - double the coordinate
      Returns:
      int the index
    • yToIndex

      public int yToIndex(double y)
      Gets closest index from the given y world coordinate.
      Specified by:
      yToIndex in interface Plot2D
      Parameters:
      y - double the coordinate
      Returns:
      int the index
    • indexToX

      public double indexToX(int i)
      Gets the x coordinate for the given index.
      Specified by:
      indexToX in interface Plot2D
      Parameters:
      i - int
      Returns:
      double the x coordinate
    • indexToY

      public double indexToY(int i)
      Gets the y coordinate for the given index.
      Specified by:
      indexToY in interface Plot2D
      Parameters:
      i - int
      Returns:
      double the y coordinate
    • setAll

      public void setAll(Object obj)
      Sets the data to new values. The grid is resized to fit the new data if needed.
      Specified by:
      setAll in interface Plot2D
      Parameters:
      obj -
    • setAll

      public void setAll(Object obj, double xmin, double xmax, double ymin, double ymax)
      Sets the values and the scale. The grid is resized to fit the new data if needed.
      Specified by:
      setAll in interface Plot2D
      Parameters:
      obj - array of new values
      xmin - double
      xmax - double
      ymin - double
      ymax - double
    • getGridData

      public GridData getGridData()
      Gets the GridData object.
      Specified by:
      getGridData in interface Plot2D
      Returns:
      GridData
    • setGridData

      public void setGridData(GridData _griddata)
      Sets the data storage to the given value.
      Specified by:
      setGridData in interface Plot2D
      Parameters:
      _griddata - the new data storage
    • setIndexes

      public void setIndexes(int[] indexes)
      Sets the indexes for the data components that will be plotted. Indexes determine the postion of the amplitude, real-component, and imaginary-component in the data array.
      Specified by:
      setIndexes in interface Plot2D
      Parameters:
      indexes - the sample-component indexes
    • setAutoscaleZ

      public void setAutoscaleZ(boolean isAutoscale, double ceil)
      Sets the autoscale flag and the floor and ceiling values for the colors. If autoscaling is true, then the min and max values of z are span the colors. If autoscaling is false, then floor and ceiling values limit the colors. Values below min map to the first color; values above max map to the last color.
      Parameters:
      isAutoscale -
      ceil -
    • setAutoscaleZ

      public void setAutoscaleZ(boolean isAutoscale, double floor, double ceil)
      Sets the autoscale flag and the floor and ceiling values for the colors. If autoscaling is true, then the min and max values of z span the colors. If autoscaling is false, then floor and ceiling values limit the colors. Values below min map to the first color; values above max map to the last color.
      Specified by:
      setAutoscaleZ in interface Plot2D
      Parameters:
      isAutoscale -
      floor -
      ceil -
    • setSymmetricZ

      public void setSymmetricZ(boolean symmetric)
      Forces the z-scale to be symmetric about zero. Not applicable in complex map because amplitude is always positive
      Specified by:
      setSymmetricZ in interface Plot2D
      Parameters:
      symmetric -
    • isSymmetricZ

      public boolean isSymmetricZ()
      Gets the symmetric z flag.
      Specified by:
      isSymmetricZ in interface Plot2D
    • isAutoscaleZ

      public boolean isAutoscaleZ()
      Gets the autoscale flag for z.
      Specified by:
      isAutoscaleZ in interface Plot2D
      Returns:
      boolean
    • getFloor

      public double getFloor()
      Gets the floor for scaling the z data.
      Specified by:
      getFloor in interface Plot2D
      Returns:
      double
    • getCeiling

      public double getCeiling()
      Gets the ceiling for scaling the z data.
      Specified by:
      getCeiling in interface Plot2D
      Returns:
      double
    • setFloorCeilColor

      public void setFloorCeilColor(Color floorColor, Color ceilColor)
      Sets the floor and ceiling colors.
      Specified by:
      setFloorCeilColor in interface Plot2D
      Parameters:
      floorColor -
      ceilColor -
    • setShowGridLines

      public void setShowGridLines(boolean showGrid)
      Sets the show gridline option.
      Specified by:
      setShowGridLines in interface Plot2D
      Parameters:
      showGrid -
    • setGridLineColor

      public void setGridLineColor(Color c)
      Sets the color for grid line boundaries
      Specified by:
      setGridLineColor in interface Plot2D
      Parameters:
      c -
    • update

      public void update()
      Updates the buffered image using the data array.
      Specified by:
      update in interface Plot2D
    • setExpandedZ

      public void setExpandedZ(boolean expanded, double expansionFactor)
      Expands the z scale so as to enhance values close to zero.
      Specified by:
      setExpandedZ in interface Plot2D
      Parameters:
      expanded - boolean
      expansionFactor - double
    • checkImage

      protected void checkImage(DrawingPanel panel)
      Checks if the image is the correct size.
    • recolorImage

      protected void recolorImage()
      Recolors the image pixels using the data array.
    • writeToRaster

      protected void writeToRaster(double x0, double y, double dx, double dy)
    • setPaletteType

      public void setPaletteType(int type)
      Determines the palette type that will be used. Not implemented. Only one palette type.
      Specified by:
      setPaletteType in interface Plot2D
      Parameters:
      type -
    • setColorPalette

      public void setColorPalette(Color[] colors)
      Sets the colors that will be used between the floor and ceiling values. Not implemented. Color always maps to phase.
      Specified by:
      setColorPalette in interface Plot2D
      Parameters:
      colors -
    • showLegend

      public JFrame showLegend()
      Shows a legend of phase angle and color.
      Specified by:
      showLegend in interface Plot2D
    • isMeasured

      public boolean isMeasured()
      Description copied from interface: Measurable
      Determines if information is available to set min/max values. Objects that store data should return false if data is null.
      Specified by:
      isMeasured in interface Measurable
      Overrides:
      isMeasured in class MeasuredImage
      Returns:
      true if min/max values are valid
    • draw

      public void draw(DrawingPanel panel, Graphics g)
      Draws the image and the grid.
      Specified by:
      draw in interface Drawable
      Overrides:
      draw in class MeasuredImage
      Parameters:
      panel -
      g -
    • getLoader

      public static XML.ObjectLoader getLoader()
      Gets an XML.ObjectLoader to save and load data for this program.
      Returns:
      the object loader