An alternative view for matrix fields that decomposes the field into collections of like components rather than displaying individual matrices, analogous to the VectorComponents view defined for vector fields.
Host panel for Matrix field visualizations.
Host panel for Matrix field visualizations. Provides a toolbar with common controls and a combo box for selecting between the different matrix field visualizations.
If you've implemented a new visualization for matrix 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 Matrix field.
A panel for graphically displaying a Matrix field. Each Matrix is displayed as a grayscale image of size rows x columns, with one entry in the image for each element in the matrix.
The mapping of matrix element value to grayscale value depends on the current state of the "Floating Max" toggle button in this viewer's toolbar. When toggled off (the default state), the smallest value ever recorded by the viewer (absMin) is rendered as black, the largest value ever recored (absMax) is white, and intermediate data values display as gray proportionate to where they lie between absMin and absMax. If the toggle is on, the ends of the scale are determined by the values of the current step only (stepMin and stepMax).
The display also shows the grayscale encoding to help interpret the view, which looks roughly like this for a sequence of three output elements, each with two inputs:
+-+ +-+ |*| = -3.62 | | = 3.62 +-+ +-+ +---------+ +---------+ +---------+ | | | | | | | image | | image | | image | | | | | | | +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ | | | | | | | image | | image | | image | | | | | | | +---------+ +---------+ +---------+
An alternative view for matrix fields that decomposes the field into collections of like components rather than displaying individual matrices, analogous to the VectorComponents view defined for vector fields. This view is most useful for large fields of small matrices.
In the same way that a vector is a collection of components (x, y, z, ...) a matrix is a collection of components - it just happens to be a tensor of a higher dimension. Just as we could collect all the x's from all the vectors in a vector field and display them together, we can collect the first elements from all the matrices and display them together, and we could do the same for the second element, and the third, and so on.
Consider this 2x3 field of 2x2 matrices, rendered the "normal" or intuitive way (like MatrixMemoryView does). The outer indices tell you the location of a particular tensor (matrix) within the field, the inner indices tell you the location of the element within the tensor:
Each individual matrix has a component (0, 0), (0, 1), (1, 0), and so forth. Displayed as above, we have many small matrices. We can instead gather all the (0, 0) tensor elements and display them together, then do the same for the (0, 1) tensor elements and so on. The outer indices now refer to the element index within tensors, and the inner index which of the tensors in the field a particular element came from.
This swapping of indices compacts the visualization for this particular matrix field a bit - rather than many small images, we have a few larger ones.
Created by gonztobi on 4/23/2014.