[−][src]Struct arrayfire::Window
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 windowheight
is the height of windowtitle
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 placedy
is the vertical coordinate where window is to be placed
pub fn set_title(&self, title: String)
[src]
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]
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 modecols
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 idc
is the target row id
pub fn set_axes_titles(
&mut self,
xlabel: String,
ylabel: String,
zlabel: String
)
[src]
&mut self,
xlabel: String,
ylabel: String,
zlabel: String
)
Set chart axes titles
Parameters
xlabel
is x axis titleylabel
is y axis titlezlabel
is z axis title
pub fn set_axes_label_format(
&mut self,
xlabel_format: String,
ylabel_format: String,
zlabel_format: String
)
[src]
&mut self,
xlabel_format: String,
ylabel_format: String,
zlabel_format: String
)
Set chart axes labels format
Parameters
xlabel_format
is x axis label format. format specific is identical to C's printf formatylabel_format
is y axis label format. format specific is identical to C's printf formatzlabel_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]
&mut self,
xformat: String,
yformat: String,
zformat: String
)
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 axisylabel
is printf style format specifier for y axiszlabel
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]
&mut self,
xrange: &Array<T>,
yrange: &Array<T>,
zrange: Option<&Array<T>>,
exact: bool
) where
T: HasAfEnum,
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 axisyrange
is set of all y values to compute min/max for y axiszrange
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 fromxrange
,yrange
andzrange
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]
&mut self,
xmin: f32,
xmax: f32,
ymin: f32,
ymax: f32,
exact: bool
)
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 axisxmax
is maximum value on x axisymin
is minimum value on y axisymax
is maximum value on y axisexact
indicates if the exact min/max values fromxrange
,yrange
andzrange
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]
&mut self,
xmin: f32,
xmax: f32,
ymin: f32,
ymax: f32,
zmin: f32,
zmax: f32,
exact: bool
)
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 axisxmax
is maximum value on x axisymin
is minimum value on y axisymax
is maximum value on y axiszmin
is minimum value on z axiszmax
is maximum value on z axisexact
indicates if the exact min/max values fromxrange
,yrange
andzrange
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]
T: HasAfEnum,
Render given Array as an image
Parameters
input
imagetitle
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]
T: HasAfEnum,
Render given two Array's x
and y
as a 2d line plot
Parameters
x
is the x coordinates of the ploty
is the y coordinates of the plottitle
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]
&self,
x: &Array<T>,
y: &Array<T>,
z: &Array<T>,
title: Option<String>
) where
T: HasAfEnum,
Render given Array's x
, y
and z
as a 3d line plot
Parameters
x
is the x coordinates of the ploty
is the y coordinates of the plotz
is the z coordinates of the plottitle
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]
T: HasAfEnum,
Render give Arrays of points as a 3d line plot
Parameters
points
is an Array containing list of points of plottitle
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]
&self,
hst: &Array<T>,
minval: f64,
maxval: f64,
title: Option<String>
) where
T: HasAfEnum,
Render given Array as a histogram
Parameters
hst
is an Array containing histogram dataminval
is the minimum bin value of histogrammaxval
is the maximum bin value of histogramtitle
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]
&self,
xvals: &Array<T>,
yvals: &Array<T>,
zvals: &Array<T>,
title: Option<String>
) where
T: HasAfEnum,
Render give Arrays as 3d surface
Parameters
x
is the x coordinates of the surface ploty
is the y coordinates of the surface plotz
is the z coordinates of the surface plottitle
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]
&self,
xvals: &Array<T>,
yvals: &Array<T>,
marker: MarkerType,
title: Option<String>
) where
T: HasAfEnum,
Render given Arrays as 2d scatter plot
Parameters
xvals
is the x coordinates of the scatter plotyvals
is the y coordinates of the scatter plotmarker
is of enum type MarkerTypetitle
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]
&self,
xvals: &Array<T>,
yvals: &Array<T>,
zvals: &Array<T>,
marker: MarkerType,
title: Option<String>
) where
T: HasAfEnum,
Render given Arrays as 3d scatter plot
Parameters
xvals
is the x coordinates of the scatter plotyvals
is the y coordinates of the scatter plotzvals
is the z coordinates of the scatter plotmarker
is of enum type MarkerTypetitle
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]
&self,
vals: &Array<T>,
marker: MarkerType,
title: Option<String>
) where
T: HasAfEnum,
Render give Array as 3d scatter plot
Parameters
points
is an Array containing list of points of plotmarker
is of enum type MarkerTypetitle
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]
&self,
xpnts: &Array<T>,
ypnts: &Array<T>,
xdirs: &Array<T>,
ydirs: &Array<T>,
title: Option<String>
) where
T: HasAfEnum,
Render given Arrays as 2d vector field
Parameters
xpnts
is an Array containing list of x coordinatesxdirs
is an Array containing direction component of x coordypnts
is an Array containing list of y coordinatesydirs
is an Array containing direction component of y coordtitle
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]
&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,
Render given Arrays as 3d vector field
Parameters
xpnts
is an Array containing list of x coordinatesxdirs
is an Array containing direction component of x coordypnts
is an Array containing list of y coordinatesydirs
is an Array containing direction component of y coordzpnts
is an Array containing list of z coordinateszdirs
is an Array containing direction component of z coordtitle
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]
&self,
points: &Array<T>,
directions: &Array<T>,
title: Option<String>
) where
T: HasAfEnum,
Render given Array as vector field
Parameters
points
is an Array containing list of coordinates of vector fielddirections
is an Array containing directions at the coordinates specified inpoints
Array.title
parameter has effect only in multiview mode, where this string is displayed as the respective cell/view title.
Trait Implementations
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]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,