[][src]Struct arrayfire::Window

pub struct Window { /* fields omitted */ }

Used to render Array objects

The renderings can be either plots, histograms or simply just image displays. A single window can also display multiple of the above renderings at the same time, which is known as multiview mode. An example of that is given below.

Examples

use arrayfire::{histogram, load_image, Window};
let mut wnd = Window::new(1280, 720, String::from("Image Histogram"));
let img = load_image::<f32>("Path to image".to_string(), true/*If color image, 'false' otherwise*/);
let hst = histogram(&img, 256, 0 as f64, 255 as f64);

loop {
    wnd.grid(2, 1);

    wnd.set_view(0, 0);
    wnd.draw_image(&img, Some("Input Image".to_string()));

    wnd.set_view(1, 0);
    wnd.draw_hist(&hst, 0.0, 255.0, Some("Input Image Histogram".to_string()));

    wnd.show();

    if wnd.is_closed() == true { break; }
}

Implementations

impl Window[src]

pub fn new(width: i32, height: i32, title: String) -> Self[src]

Creates new Window object

Parameters

  • width is width of the window
  • height is the height of window
  • title is the string displayed on window title bar

Return Values

Window Object

pub fn set_position(&self, x: u32, y: u32)[src]

Set window starting position on the screen

Parameters

  • x is the horiontal coordinate where window is to be placed
  • y is the vertical coordinate where window is to be placed

pub fn set_title(&self, title: String)[src]

Set window title

Parameters

  • title is the string to be displayed on window title bar

pub fn set_visibility(&self, is_visible: bool)[src]

Set window visibility

Parameters

  • is_visible is a boolean indicating whether window is to be hidden or brought into focus

Return Values

None

pub fn set_size(&self, w: u32, h: u32)[src]

Set window size

Parameters

  • w is the target width of window
  • h is the target height of window

pub fn set_colormap(&mut self, cmap: ColorMap)[src]

Set color map to be used for rendering image, it can take one of the values of enum ColorMap

pub fn is_closed(&self) -> bool[src]

Returns true if the window close is triggered by the user

pub fn grid(&self, rows: i32, cols: i32)[src]

Setup display layout in multiview mode

Parameters

  • rows is the number of rows into which whole window is split into in multiple view mode
  • cols is the number of cols into which whole window is split into in multiple view mode

pub fn show(&mut self)[src]

Used in multiview mode to swap back buffer with front buffer to show the recently rendered frame

pub fn set_view(&mut self, r: i32, c: i32)[src]

Set the current sub-region to render

This function is only to be used into multiview mode

Parameters

  • r is the target row id
  • c is the target row id

pub fn set_axes_titles(
    &mut self,
    xlabel: String,
    ylabel: String,
    zlabel: String
)
[src]

Set chart axes titles

Parameters

  • xlabel is x axis title
  • ylabel is y axis title
  • zlabel is z axis title

pub fn set_axes_label_format(
    &mut self,
    xlabel_format: String,
    ylabel_format: String,
    zlabel_format: String
)
[src]

Set chart axes labels format

Parameters

  • xlabel_format is x axis label format. format specific is identical to C's printf format
  • ylabel_format is y axis label format. format specific is identical to C's printf format
  • zlabel_format is z axis label format. format specific is identical to C's printf format

pub fn set_axes_label_formats(
    &mut self,
    xformat: String,
    yformat: String,
    zformat: String
)
[src]

Set chart axes labels formats

Axes labels use printf style format specifiers. Default specifier for the data displayed as labels is %4.1f. This function lets the user change this label formatting to whichever format that fits their data range and precision.

Parameters

  • xlabel is printf style format specifier for x axis
  • ylabel is printf style format specifier for y axis
  • zlabel is printf style format specifier for z axis

pub fn set_axes_limits_compute<T>(
    &mut self,
    xrange: &Array<T>,
    yrange: &Array<T>,
    zrange: Option<&Array<T>>,
    exact: bool
) where
    T: HasAfEnum
[src]

Set chart axes limits by computing limits from data

In multiple view (grid) mode, setting limits will effect the chart that is currently active via set_view call

Parameters

  • xrange is set of all x values to compute min/max for x axis
  • yrange is set of all y values to compute min/max for y axis
  • zrange is set of all z values to compute min/max for z axis. If None is passed to this paramter, 2d chart limits are set.
  • exact indicates if the exact min/max values from xrange, yrange and zrange are to extracted. If exact is false then the most significant digit is rounded up to next power of 2 and the magnitude remains the same.

pub fn set_axes_limits_2d(
    &mut self,
    xmin: f32,
    xmax: f32,
    ymin: f32,
    ymax: f32,
    exact: bool
)
[src]

Set 2d chart axes limits

In multiple view (grid) mode, setting limits will effect the chart that is currently active via set_view call

Parameters

  • xmin is minimum value on x axis
  • xmax is maximum value on x axis
  • ymin is minimum value on y axis
  • ymax is maximum value on y axis
  • exact indicates if the exact min/max values from xrange, yrange and zrange are to extracted. If exact is false then the most significant digit is rounded up to next power of 2 and the magnitude remains the same.

pub fn set_axes_limits_3d(
    &mut self,
    xmin: f32,
    xmax: f32,
    ymin: f32,
    ymax: f32,
    zmin: f32,
    zmax: f32,
    exact: bool
)
[src]

Set 3d chart axes limits

In multiple view (grid) mode, setting limits will effect the chart that is currently active via set_view call

Parameters

  • xmin is minimum value on x axis
  • xmax is maximum value on x axis
  • ymin is minimum value on y axis
  • ymax is maximum value on y axis
  • zmin is minimum value on z axis
  • zmax is maximum value on z axis
  • exact indicates if the exact min/max values from xrange, yrange and zrange are to extracted. If exact is false then the most significant digit is rounded up to next power of 2 and the magnitude remains the same.

pub fn draw_image<T>(&self, input: &Array<T>, title: Option<String>) where
    T: HasAfEnum
[src]

Render given Array as an image

Parameters

  • input image
  • title parameter has effect only in multiview mode, where this string is displayed as the respective cell/view title.

pub fn draw_plot2<T>(&self, x: &Array<T>, y: &Array<T>, title: Option<String>) where
    T: HasAfEnum
[src]

Render given two Array's x and y as a 2d line plot

Parameters

  • x is the x coordinates of the plot
  • y is the y coordinates of the plot
  • title parameter has effect only in multiview mode, where this string is displayed as the respective cell/view title.

pub fn draw_plot3<T>(
    &self,
    x: &Array<T>,
    y: &Array<T>,
    z: &Array<T>,
    title: Option<String>
) where
    T: HasAfEnum
[src]

Render given Array's x, y and z as a 3d line plot

Parameters

  • x is the x coordinates of the plot
  • y is the y coordinates of the plot
  • z is the z coordinates of the plot
  • title parameter has effect only in multiview mode, where this string is displayed as the respective cell/view title.

pub fn draw_plot<T>(&self, points: &Array<T>, title: Option<String>) where
    T: HasAfEnum
[src]

Render give Arrays of points as a 3d line plot

Parameters

  • points is an Array containing list of points of plot
  • title parameter has effect only in multiview mode, where this string is displayed as the respective cell/view title.

pub fn draw_hist<T>(
    &self,
    hst: &Array<T>,
    minval: f64,
    maxval: f64,
    title: Option<String>
) where
    T: HasAfEnum
[src]

Render given Array as a histogram

Parameters

  • hst is an Array containing histogram data
  • minval is the minimum bin value of histogram
  • maxval is the maximum bin value of histogram
  • title parameter has effect only in multiview mode, where this string is displayed as the respective cell/view title.

pub fn draw_surface<T>(
    &self,
    xvals: &Array<T>,
    yvals: &Array<T>,
    zvals: &Array<T>,
    title: Option<String>
) where
    T: HasAfEnum
[src]

Render give Arrays as 3d surface

Parameters

  • x is the x coordinates of the surface plot
  • y is the y coordinates of the surface plot
  • z is the z coordinates of the surface plot
  • title parameter has effect only in multiview mode, where this string is displayed as the respective cell/view title.

pub fn draw_scatter2<T>(
    &self,
    xvals: &Array<T>,
    yvals: &Array<T>,
    marker: MarkerType,
    title: Option<String>
) where
    T: HasAfEnum
[src]

Render given Arrays as 2d scatter plot

Parameters

  • xvals is the x coordinates of the scatter plot
  • yvals is the y coordinates of the scatter plot
  • marker is of enum type MarkerType
  • title parameter has effect only in multiview mode, where this string is displayed as the respective cell/view title.

pub fn draw_scatter3<T>(
    &self,
    xvals: &Array<T>,
    yvals: &Array<T>,
    zvals: &Array<T>,
    marker: MarkerType,
    title: Option<String>
) where
    T: HasAfEnum
[src]

Render given Arrays as 3d scatter plot

Parameters

  • xvals is the x coordinates of the scatter plot
  • yvals is the y coordinates of the scatter plot
  • zvals is the z coordinates of the scatter plot
  • marker is of enum type MarkerType
  • title parameter has effect only in multiview mode, where this string is displayed as the respective cell/view title.

pub fn draw_scatter<T>(
    &self,
    vals: &Array<T>,
    marker: MarkerType,
    title: Option<String>
) where
    T: HasAfEnum
[src]

Render give Array as 3d scatter plot

Parameters

  • points is an Array containing list of points of plot
  • marker is of enum type MarkerType
  • title parameter has effect only in multiview mode, where this string is displayed as the respective cell/view title.

pub fn draw_vector_field2<T>(
    &self,
    xpnts: &Array<T>,
    ypnts: &Array<T>,
    xdirs: &Array<T>,
    ydirs: &Array<T>,
    title: Option<String>
) where
    T: HasAfEnum
[src]

Render given Arrays as 2d vector field

Parameters

  • xpnts is an Array containing list of x coordinates
  • xdirs is an Array containing direction component of x coord
  • ypnts is an Array containing list of y coordinates
  • ydirs is an Array containing direction component of y coord
  • title parameter has effect only in multiview mode, where this string is displayed as the respective cell/view title.

pub fn draw_vector_field3<T>(
    &self,
    xpnts: &Array<T>,
    ypnts: &Array<T>,
    zpnts: &Array<T>,
    xdirs: &Array<T>,
    ydirs: &Array<T>,
    zdirs: &Array<T>,
    title: Option<String>
) where
    T: HasAfEnum
[src]

Render given Arrays as 3d vector field

Parameters

  • xpnts is an Array containing list of x coordinates
  • xdirs is an Array containing direction component of x coord
  • ypnts is an Array containing list of y coordinates
  • ydirs is an Array containing direction component of y coord
  • zpnts is an Array containing list of z coordinates
  • zdirs is an Array containing direction component of z coord
  • title parameter has effect only in multiview mode, where this string is displayed as the respective cell/view title.

pub fn draw_vector_field<T>(
    &self,
    points: &Array<T>,
    directions: &Array<T>,
    title: Option<String>
) where
    T: HasAfEnum
[src]

Render given Array as vector field

Parameters

  • points is an Array containing list of coordinates of vector field
  • directions is an Array containing directions at the coordinates specified in points Array.
  • title parameter has effect only in multiview mode, where this string is displayed as the respective cell/view title.

Trait Implementations

impl Clone for Window[src]

impl Drop for Window[src]

Auto Trait Implementations

impl RefUnwindSafe for Window

impl !Send for Window

impl !Sync for Window

impl Unpin for Window

impl UnwindSafe for Window

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.