3LC Dashboard Version 2.5#

2.5.7#

  • [12987] Made it so there is a single 3LC dashboard at https://dashboard.3lc.ai for all users, removing the former enterprise-specific 3LC dashboard at https://dashboard.enterprise.3lc.ai.

  • [13480] Improved UX for selection of bounding boxes in charts

    • Left and Right keys only jump to filtered-in bounding boxes

    • The left side of the widget for partial selection now shows the bounding boxes as filtered out (sunken), filtered in (grey) or selected (white) dots.

    • Clicking on an enabled dot will select the corresponding bounding box

    • Filtered-out bounding boxes will not be selected when selecting BBs using a region tool

    • Deselect filtered-out bounding boxes when tweaking filter

    • Show number of selected bounding boxes (when relevant) alongside number of selected table rows

    • [13581] Pressing A (i.e. “select all”) will now select all bounding boxes if some bounding boxes were selected originally

  • [13614] Made it possible to show/hide legend overlays in charts by toggling a new button in the toolbar. When legend display is off, hovering over a point will still show the legend for the hovered-over value only.

  • [13606] Made it possible to rename a charts tab by double-clicking on the tab

  • [13607] Made it possible to show/hide custom user annotations in charts by toggling a new button in the toolbar

  • [13736] Made it so that the detect-gpu package is updated in each build to ensure the latest GPUs and benchmarks are included when detecting the GPU profile

  • [12987] Added a banner to the top of the Dashboard that can be shown to make users aware of important information and provide links to relevant resources. This banner is now shown where the Dashboard cannot connect to the 3LC service.

Enhancements and Fixes#

  • [13494] Fixed a bug where the visibility icon in the filters panel could get out of sync with the visibility of columns in the Rows panel

  • [13497] Fixed an issue where co-located data points could be rendered white in charts when they should have been colored in certain cases with particular settings enabled and filtering applied

  • [13493] Fixed a bug where labels were rendered outside the shaded background of the column containing them

  • Fixed a glitch related to image/BB widget placement in table components

  • [13476] Split OperationPickN into two different operations which pick data along different dimensions.

    • OperationPickN -> OperationPickInnerN (the original) AND OperationPickOuterN

    • “Inner” means dimension 0, while “Outer” means “the outermost unrolled dimension”. For 1D arrays this will both be 0, while for 2D arrays the outermost dimension will be 1.

    • For visualization, OperationPickInnerN (the original OperationPickN) is used (as before) to extract e.g. X/Y/Z coordinates

    • However, when selecting Derive | Pick[..] in the context menus, the created virtual column will be OperationPickOuterN. This is the intuitive behavior, which will e.g. pick a single 3-component embedding from a list of 3-component embeddings.

    • Similarly, OperationPickRandom is now implemented in terms of OperationPickOuterN

  • OperationCount now supports N-dimensional properties and reports outermost element size

  • [13516] Made it so that the same color is not picked for different foreign tables

  • [13574] Optimized the creation of menu items for operations

  • [13566] Made it possible to also show the value map dialog for predicted BBs that cannot be edited

  • [13586] Made it so that editing the mask for a sample toggles the Edited column value for that sample

  • [13587] Made it so that 4 will now toggle mask images (while 5 still toggles ordinary RGB images). This collided with the previous mapping to “Tweak selected Runs/Tables”, which has now been moved to P instead.

  • [13611] Improved visibility of selected-filter-property icons (especially when checked)

  • [13647] Fixed a bug where column sorting would not work if the column name contained ‘-’

  • [13643] Fixed an issue with OperationCommon when applied to empty cells, which would previously result in a value of 0, but now results in “(No values)”, which is consistent with the existing “(Multiple values)”

  • [13562] Fixed a bug where the crosshair would not show axis labels when hovering over confusion matrix boxes

  • [13661] Fixed an issue where text was difficult to see in highlighted filters when using dark mode

  • [13664] Fixed a glitch where numerical input fields were too wide in the filters panel

  • [13608] Fixed a bug when setting a chart as a favorite

  • [12962] Made it so the number of workflows available is shown on the workflow icon

  • [13677] Made it so OperationTraversalIndex an operate on multiple columns as long as the total component count is 1, 2, or 3

  • [13678] Introduced a new OperationZip operation that zips together multiple columns into a single column

  • [13683] Made it so OperationLength can work on multi-column inputs

  • [13563] When a Workflow refers to a widget, make sure the widget is scrolled into view (if necessary)

  • [13695] Tweaked the visibility eye icon

  • [13696] When selecting a column, force the corresponding filter widget into view

  • [13153] Added arrows from the workflow dialog to the components it references


2.5.6#

  • [10437] Added support for overlaying properties on top of charts in Tweak layer

    • Allow for display and in-place editing of single properties (of the selected table row) in the Tweak layer

    • Allow for dragging properties (typically from column headers) onto the Tweak layer in 2D/3D charts. Possible drag targets are shown as yellow, similar to the drag targets in the Chart title.

    • Show/hide Tweak properties in the Chart configuration dialog (invoked from the charts toolbar). This is the dialog that already controls other property bindings for the active chart (e.g. X, Y, Z, color, etc.)

  • [13218] Added support for painting onto writable bitmaps, including mask bitmaps used for image segmentation workflows

    • Added support for painting into single-channel segmentation images using the existing region tools (rectangle, lasso, etc.)

    • By default enabled two pre-existing paint tools (which could previously be enabled from the Settings menu):

      • The Polygon tool - useful to select/paint elements with straight edges (e.g. a door)

      • The Brush tool - useful to refine edges/outlines of curved shapes

    • The paint-bitmap user interface looks and works in ways similar to when drawing bounding boxes, including K and L to select the previous/next label to paint, and J to pick the label under the mouse pointer and set it as the active paint value

    • Painting, like other editing operations, supports undo/redo

    • Defaulted images to be shown using Nearest neighbor interpolation, and restored display of lines, which helps guide painting

  • [10898] Linked together the filters shown in the Filters panel with the columns shown in the Rows panel

    • Order of properties in the Filters panel now matches the order of columns in the Rows panel

    • Visibility eye icon for a filter in the Filters panel controls whether the corresponding column is shown in the Rows panel

    • When properties are children of a particular property (i.e. virtual), join the colorized backgrounds into one (rather than previously make colorization per column)

    • When filtering on a column, show the same background indication color in the Rows panel as in the Filter panel

  • [13426] Made it possible to drag a column to onto a charts tab to create a new chart for that column on that tab

  • [13260] Made it possible to select bounding boxes using the paint tools

  • [11749] Made it possible, when filtering enum properties, to require ALL checked items to be present (as opposed to the default of ANY). This is controlled by clicking on the & icon for the filter, which is deselected by default.

  • [12459] Made it possible for string filters to require that ANY string is present (as opposed to the default of ALL). This is controlled by clicking on the & icon for the filter, which is selected by default.

  • [10437] Added support for display of multiline strings (optionally with token attributes) controlled using the context menu (similar to image or BB displays)

Enhancements and Fixes#

  • Fixed some bugs related to is-column-selected displays

  • [13221] Fixed regression where label selection dropdown boxes didn’t respect filter string

  • [13364] Disallow deleting values in value maps that do not have a histogram (typically mask images) since that means it is not possible to know if the value is in use

  • [13364] Fixed an issue preventing the possibility of adding a class to a segmentation mask

  • [13352] Fixed a bug where an image’s zoom would change while navigating between them even if they were the same size

  • [13356] Fixed an issue where chart titles were incorrect after dragging a column onto the chart

  • [13412] Fixed an issue preventing mask thumbnails from being displayed in some cases

  • [13424] Fixed an issue where the visibility eye icon for an overlaid property in a chart would change incorrectly state while navigating through samples

  • [11050] Made it so the primary element operation works with multi-component numeric inputs

  • [13383] Made it so the primary element operation works with string inputs

  • [13384] Added metrics table row column that is hidden by default but may be shown for joined tables to indicate which row in the input table it comes from

  • [12683] Made it so reducing on one string column also reduces other string columns

  • [13145] Added an arrow to the component showing the current project to make it clearer that clicking on it will show the project list and allow for selecting a different project

  • [13468] Fixed bug when grouping or sorting on composite properties


2.5.5#

Enhancements and Fixes#

  • [13194] Fixed a bug where trying to select all bounding boxes in a chart through the context menu or by the keyboard shortcut Ctrl+A would only select one bounding box instead of all of them

  • [13208] Fixed a regression where accepting predicted bounding boxes would incorrectly assign some predicted labels as ground truth labels and cause the new table to be unreadable

  • [13001] Added a cache control header for demo Dashboard datasets to minimize the time it takes for new datasets to show up for users that have previously visited the demo Dashboard

  • [13225] Added documentation links to some workflow steps to get help on how to do specific tasks

  • [13219] Avoid encountering an assertion error when starting the Dashboard in some cases


2.5.4#

Features#

  • [11524] Added confusion matrix workflow

Enhancements and Fixes#

  • [13046] More improvements to the user experience for workflows in general and for the product tour in particular

  • [13079, 13080, 13083] Added some checks to avoid null dereference in several cases

  • [13066] Fixed issue that could lead to a runtime error when switching runs if “occurrence” is derived

  • [12994] Made it so that new tabs cannot be created for the Charts panel for the Runs view since all of the relevant charts are shown automatically.

  • [12995] Fixed an issue that would sometimes lead to Charts panel tabs getting the same name

  • [13082] Fixed a bug that could lead to an error when using the “count” operation

  • [13081] Added checks to avoid errors when loading images, such as when images are too large or have malformed sizes while loading images

  • [12651] Removed some unused bounding box editing parameters from the settings dialog

  • [13097] Made it so that bounding box annotations are not hidden by box outlines

  • [13109] Fixed an issue that could lead to the image in a chart not matching the selected row after filtering

  • [12954] Fixed an issue that led to next/previous bounding box functionality not being available in some cases


2.5.3#

Features#

  • [12921] Made it possible to do an enterprise local, customer managed install of the Dashboard using the 3lc-dashboard Python package.

Enhancements and Fixes#

  • [12320] Improved the user experience for workflows in general

  • [12320] Cleaned up and streamlined the steps for the product tour

  • [13043] Fixed issue where sum and multiply operations were considered order-dependent

  • [13041] Fixed issue where scroll bar was invisible for some components when using dark mode

  • [13038] Updated GPU detection so more recent models are treated correctly as max-tier


2.5.2#

Features#

  • [8743] Added new bounding box paint functionality using the new pencil icon or the keyboard shortcut U

  • [12737] Made it possible to create an NMS (non-maximum suppression) virtual column in order to eliminate overlapping bounding boxes

  • [8743] Made it possible to navigate between bounding boxes in a chart with the new next and previous selection options

  • [10022] Created new “Accept predicted bounding boxes dialog” to allow for precisely selecting predicted bounding boxes to turn into ground truth bounding boxes for use in later training

  • [10911] Made it possible to do most bounding box editing operations with keyboard shortcuts

    • CTRL+SHIFT+L: Snap to next/previous bounding box

    • CTRL+SHIFT+K: Snap to double-clicked bounding box

    • U: Paint new bounding box (then left drag to create)

    • M: Immediately accept selected predictions

    • CTRL+M: Accept selected predictions

    • I: Immediately accept predictions for this row

    • CTRL+I: Accept predictions for this row

  • [11204] Made it possible to delete tables rows altogether to e.g. remove samples from later training

  • [12734] Add shortcuts for Mac users based on the Command key rather than Ctrl

  • [11716] Made it possible to create additional tabs for charts in the Charts panel and to close tabs

Enhancements and Fixes#

  • [12747] Disallow creating a reduced Table when input table hasn’t been loaded yet

  • [12710] Avoid assert triggered in some cases when loading the Dashboard

  • [12853] Log when renaming a Run succeeds or fails

  • [12777] Fixed a bug when combining filters and lasso selection that could cause additional samples to be shown in the Rows panel

  • [12889] Fixed a runtime error that could occur when loading bounding box embeddings

  • [5570] Made several tweaks to improve user experience when dragging onto Charts background


2.5.1#

Features#

  • [11036] New Demo Dashboard: Experience the 3LC Dashboard with our newly launched stand-alone demo version, available at https://demo-dashboard.3lc.ai. With the demo Dashboard, you can experience the insights provided by 3LC using example datasets, all without requiring any additional installation.

  • [12649] Render performance settings tailored to your hardware: 3LC now enhances your experience by automatically detecting your GPU profile and adjusting rendering performance settings for optimal 2D/3D chart visualization. The settings dynamically adapt to the type of GPU your browser uses and adjust in real-time, even when your laptop switches to battery power. You can also manually adjust these settings to suit your preferences.

    • [12395] Added a step to the product tour that checks for GPU compatibility and provides guidance for making sure the Dashboard is using the expected GPU. This compatibility check can also be accessed in the about box.

    • [12552] Added render setting to “Show projection shadows on 3D charts”

    • [12644] Exposed render settings to enable/disable edge shading and SSAO

  • [12527] New Value Map Creation: You can now create value maps on scalar numeric columns that do not have them.

  • [12566] Added keyboard shortcuts for toggling most boolean values in the Settings dialog

Enhancements and Fixes#

  • [12581] Made it so browser does not cache Dashboard pages in a way that prevents automatically using the latest version when it is released

  • [12604] Log when detecting WebGL performance issue such as the use of software rendering

  • [12060] Grouped Runs charts into tabs with six charts each to avoid exhausting WebGL contexts

  • [12456] Changed the way colors are selected for Runs

  • [12597] Fixed a bug where switching between light and dark mode would not update the background of existing charts

  • [12606] Include ‘description’ in Runs hyperparameters dialog

  • [12561] Made it possible to show/hide Run columns from within the Runs hyper-parameters dialog

  • [12628] Made it possible to create certain virtual columns (e.g. “TP->Sum”) with a single click

  • [12633] Fixed alignment of about box text

  • [12634] Fixed an issue where the bounding box settings on different charts were not independent

  • [12635] Fixed an issue where image settings would sometimes automatically reset after being idle

  • [10987] Fixed a bug where disabled menu items still appeared to be clickable

  • [12667] Fixed a crash when trying to subtract two different 3D embeddings columns

  • [12678] Limited number of undo/redo snapshots to 100 to avoid memory and performance issues

  • [12659] Fixed an issue where you could not reduce by image URL string columns and fixed display names of reduced table

  • [12679] Made a few optimizations to improve performance with undo/redo snapshots

  • [12689] Fixed a bug that caused the index virtual column not to work

  • [12689] Fixed an issue where filters would not be updated when adding a value map or adding new value map values


2.5.0#

Features#

  • [12427] Updated processes to support proper incremental semantic versioning for the 3LC Dashboard

  • [12289] Treat elements that are filtered out from the Filters panel differently from elements filtered out by paint commands by default.

    • The “Show filtered out points” and “Show filtered out lines” settings are by default On, but they do not show elements which are filtered out from the Filters panel.

    • Added an option to effectively treat a Filters panel criteria like a paint command (i.e. show it as a disabled background element).

  • [12372] Made it possible to override the default file name and provide a description when committing edits

  • [12391] Show mask images with color substitution and alpha in tooltip thumbnails and table grid view

  • [11426] Introduced new “Weight confused samples workflow”

Enhancements and Fixes#

  • [12060] Made several fixes to address and/or log potential problems when showing many charts, which can e.g. use up all available WebGL contexts

  • [10876] Fixed a bug where no tooltip showed when hovering over a disconnected point in a Runs chart

  • [12233, 12265] Fixed sorting and show lineage in Run details panel

  • [11930] Fixed some issues with date formatting

  • [10901] Provide feedback when Runs are empty or cannot be opened due to missing or incomplete metrics collection

  • [12298] Fixed a bug where double-click on buttons could bubble up to parent

  • [12343] Fixed a bug where sample-based filters would not have an effect if bounding-box based filters were applied

  • [12342] Fixed a bug where the legend would not show all classes when reducing on a label column

  • [12388] Fixed a bug where changing the value of an editable column row back to its original value would not show the correct value

  • [12399] Made it possible to select and copy the text in the Run hyperparameters dialog

  • [12359] Fixed a bug with 2D boxplot rendering having non-uniform sizes

  • [12398] Fixed a bug where coloring BBs by TP/FP/FN did not work

  • [12432] Fixed glitches in input text field enforcement of valid characters

  • [12433] Made it so when text is selected, Ctrl+C is not be captured by the copy-chart-to-clipboard action

  • [12436] Fixed an issue with snap-to-contents in empty 2D view

  • [12010] Properly handled cases where vector columns (e.g. embeddings) cannot be meaningfully decomposed

  • [12497] Make aggregated points default OFF in settings

  • [12494] Fixed a bug where buttons to commit or discard pending edits were not visible

Known Issues#

  • The order of columns in the Dashboard filter panel does not follow the order in the tables panel, where the columns are more logically ordered. This will be addressed in an upcoming release.

  • When renaming a Run in the Dashboard, the old name is sometimes still shown alongside the new name in the Table panel for a short time.