2015.7.6
2015.7.6
CATMAID now uses the GPLv3 license and moved away from the stricter
AGPLv3. This move was discussed with all previous contributors and
agreed on. See the corresponding commit for more details.
Contributors: Albert Cardona, Andrew Champion, Tom Kazimiers
Notes
This release includes database changes that require manual intervention if you
are upgrading from an existing installation. A new dependency is now required:
PostGIS, an extension to PostgreSQL. After its installation, it has to be
activated for the CATMAID database. To do so, connect to the database using a
Postgres system user. Assuming a Postgres system user named "postgres" and a
CATMAID database named "catmaid", this could be done by calling
sudo -u postgres psql -d catmaid
Being connected to the database, PostGIS can be enabled by executing
CREATE EXTENSION postgis;
Now PostGIS is enabled and the connection can be closed again. Now a regular
update can be performed. Please note that this update can take quite some time
to complete. On bigger neuron tracing installations, multiple hours are
realistic.
Features and enhancements
Key shortcuts / mouse operations:
- Ctrl + mouse wheel now zooms the stack, while shift zooms by smaller
increments. - Pressing X in the tracing tool will begin measuring distance from the current
cursor position. The mouse wheel can be used to measure along the stack Z
axis. Clicking will close the measurement tool and show the final distance in
the status bar. ESC cancels the tool.
Multi-view tracing and virtual nodes:
- Orthogonal views on a regular XY stack can now also be used for neuron
reconstruction. If they are available as CATMAID stacks and opened while the
tracing tool is activated, tracing data will be shown in the respective
orthogonal views as well. Tracing can be done in these views just like in the
regular XY view. - When tracing, it is not required anymore to place a node in every section. If
no node has been placed in a section, CATMAID will place a so called virtual node
where the skeleton and the section meet. If this virtual node is modified in
any way, e.g. tagging, joining, moving, etc. it will be created. This also
slightly changes the way reviews work. Review information is only stored on
real nodes. - The review widget has a new settings: in-between node step. It specifies how
many sections can be skipped between adjacent real nodes. This is done with
respect to the currently focused stack. This stack is also used to determine
in which direction to move to look beyond the start of a segment.
Stack viewer:
- Other stacks in a project can be added to an open stack view by selecting the
"Add to focused viewer" option from the stacks menu. This allows multiple
stacks to exist in the same view like overlays, while accounting for
differences in translation and resolution. The navigator will expand the
available zoom levels to accomodate the maximum and minimum zoom possible in
all of the open stacks. - Tile layers for stacks added to a viewer can be removed from a viewer via an
"x" in the tile layer control. - Multiple viewers into the same stack can now be opened.
- Each stack viewer can be toggled between coupling its navigation with other
open stack viewers. Toggle this via the "Navigate with project" checkbox in
the tile layer control.
Tile layer:
- New filter (WebGL only): intensity thresholded transparency
3D Viewer:
- Connector restriction can now explicitly be turned on and off with a pull
down list. One can select between "Show all" (i.e. restriction turned off),
"All shared connectors" will only show connectors with partners in the current
selection and "All pre->post connectors" will only allow connectors with at
least one presynaptic partner and one postsynaptic partner in the current
selection. The last option, "All group shared" allows to select two skeleton
sources (e.g. two selection table) and it will only show connectors that are
part of the 3D viewer and that connect between both selected groups of
skeletons. There is also a pre->post enforcing variant of it.
Neuron search:
- The name displayed for neurons now follows the same naming mechanism used for
other widgets. It can be controlled through the settings widget and will
automatically update if a neuron name is changed.
Miscellaneous:
- In the connectivity widget, upstream and downstream thresholds can now be set
at once for all seed neurons. Two drop down controls used for this will be
displayed if there is more than one seed neuron. - Treenode Table refurbishing: far faster, supports multiple skeletons, can do
tag search with regular expressions and lists the skeleton treenode ID. - Rows and columns of the connectivity matrix can now be moved around with
little buttons that appear when the mouse is over row and column header cells. - There are now three options to change focus if a pointer enters a window:
don't change focus (how it has been so far), focus stacks (will activate
stacks when hovered, but won't change focus for other windows) and focus all
(will change focus to every window hovered). The default will be stack focus
follows the pointer. The settings widget makes these options available in
general settings area. - There are three new controls in the split/merge dialog: Toggle the
display of input and output markers on neurons in the embedded 3D viewer and
select which shading method is used (default: "active node split").
Alternatively, "Strahler index" coloring can be used, which helps with
depth perception. - Attempting to reload a CATMAID browser tab or go back in history, will now
result in a warning dialog, asking for confirmation. It makes clear that
CATMAID's window layout and content won't be saved if the acton isn't
canceled.
Administration:
-
Now that virtual nodes are available, existing database can (but don't have
to) be optimized. A new management command will look for straight skeleton
parts that are not referenced in any way and prunes them. In other words, if
there are three successive collinear nodes and the middle one is not
referenced, it will be removed.manage.py catmaid_prune_skeletons
Bug fixes
- The Neuron Search widget doesn't throw an error anymore when a neuron listed
in it is merged. - There is no longer a race condition in the database during concurrent
split/merge of a skeleton and creation of a treenode in that skeleton. While
this is not a comprehensive guarantee of conflict-free concurrency, it does
remove the most likely scenario resulting in corruption of the database model.