A timeseries plot that shows a fixed sized history, not unlike the old TimeseriesPlotPanel (which was renamed to StackedTimeseriesPanel).
An XYDataset with a fixed size internal circular buffer amenable to fast "drop oldest and append" operations.
A viewer for ScalarFields that assumes that they're holding grayscale images.
A viewer for ScalarFields that assumes that they're holding grayscale images. That is, the values in the ScalarField are in the range [0f, 1f], with values <= 0 to be represented as black, and values >= 1 as pure white.
The view presented can look quite similar to that of the ScalarMemoryView, but because this view makes assumptions about the possible range of values, it's potentially more performant.
Only accepts ScalarFields of 2 dimensions or lower.
Host panel for Scalar field visualizations.
Host panel for Scalar field visualizations. Provides a toolbar with common controls and a combo box for selecting between the different scalar field visualizations.
If you've implemented a new visualization for scalar fields and want to plug
it into the GUI, provide a name for it to the viewerNames
list and a case
for it in the viewerNameToInstance
memoized factory.
Created by gonztobi on 2/24/14.
A panel for graphically displaying a Scalar field.
A panel for graphically displaying a Scalar field. Each layer in the field is displayed as a separate grayscale image with dimensions columns x rows, with each element in a layer represented by a single pixel.
The mapping from a value to a grayscale shade depends on the minimum and maximum values in the whole field (and not just the layer). By default, black represents a minimum and white a maximum, with a linear gradient representing values in-between. Toggling the 'Invert' property to true will reverse this gradient such that white represetns a minimum and black a maximum.
The minimum and maximum used for shading purposes are by default 'cumulative,' that is, they are the smallest and largest values seen in the field across all updates since the last reset. This behavior can be changed by toggling the 'Floating Max' property to true, which causes shading to be based on the minimum and maxmimum values present in the field only at the latest update, ignoring all previous updates.
All put together, it looks something like this for a three-dimensional scalar field with 6 layers:
+-+ +-+ |*| = -3.62 | | = 3.62 +-+ +-+ +---------+ +---------+ +---------+ | | | | | | | layer 0 | | layer 1 | | layer 2 | | | | | | | +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ | | | | | | | layer 3 | | layer 4 | | layer 5 | | | | | | | +---------+ +---------+ +---------+
A visualization for ScalarFields of two dimensions or less that presents the field as a scatter plot of column index vs value.
A visualization for ScalarFields of two dimensions or less that presents the field as a scatter plot of column index vs value. For 2D fields, rows are differentiated by using a different set of colors/symbols for each row.
An example of a 2x10 2D scalar field containing values in [0, 1] viewed as a scatter plot would look something like this:
1.0 | x | o | o x o | x o value | x x o x x | o x o o | x o o x | 0 +------------------------------ 0 1 2 3 4 5 6 7 8 9 column +-----------------------------+ | x = row 0 o = row 1 | +-----------------------------+
A visualization for SalarFields of two or fewer dimensions that renders the field as a number of stacked timeseries plots, one per field element.
A visualization for SalarFields of two or fewer dimensions that renders the field as a number of stacked timeseries plots, one per field element. This visaulization's performance is quite sensitive to the target field's size; it is not recommened for fields with a large number of elements, as it will render quite slowly.
This implementation keeps a fixed size history of the last 500 steps. The oldest value is at the left end of the chart, the most recent at the right. (This history is part of the reason this visualization can't handle large fields; the field size is effecitvely multiplied by 500.))
This visualization is based off the old Cog 3.x MultiXYPlot, which was not particularly efficient. This visualization also takes a long time to update, especially if its tracking many values from a large field. If the target field is updating more rapidly than the visualization, there will be gaps in the history. The most recently recorded value is extended into these gaps (which has the tendency to cause the timeseries to render as a stepped line).
An experimental, accelerated version of the old XYPlot (since renamed to Timeseries and TimeseriesPlot).
An experimental, accelerated version of the old XYPlot (since renamed to Timeseries and TimeseriesPlot). There are several big visual differences - for one, all series share a single drawing area (rather than having one graph per series).
Needs some tools to control scaling and range of the axes.
A timeseries plot that shows a fixed sized history, not unlike the old TimeseriesPlotPanel (which was renamed to StackedTimeseriesPanel). This plot, however, uses a different dataset implementation and is better suited for fast changing, live data.
Like the old implementation, each point in the target field is displayed in its own subplot, with the subplots stacked on top of each other. For fields with more than a handful of points, this can get pretty expensive to draw.
This version of the viewer supports up to 2D fields.