Releases: catmaid/CATMAID
2015.7.17
2015.7.17
Contributors: Albert Cardona, Andrew Champion, Tom Kazimiers
Features and enhancements
Connectivity widget:
- Partners can now be filtered by a minimum threshold on number of nodes, rather
than only being able to filter single-node partners. - The user's review team is now an option in the partner review filter.
- Changing the review filter no longer reloads the entire widget.
- Many small performance improvements.
Selection table:
- The table layout has been streamlined with other tables in CATMAID. All
columns except 'action columns' can now be used for sorting. Pagination is now
done with the buttons to the right above and below the table, the page length
can now be adjusted, too. The summary info button moved into the button panel
while the filter input is now part of the table. - It is now possible to add a new annotation to individual neurons without
changing the current selection. This can be done with the little tag icon in
the actions column on the right. The former info button was replaced by a
small 'i' icon and clicking the folder icon in the same column will open a
Neuron Navigator window for the respective neuron. - All visibility related colums can be hidden with a new checkbox in the button
panel. This might be useful to save space if a selection table is not used to
control a 3D viewer.
Miscellaneous:
- Neuron search: annotations can now be searched for those by users in the
review team. - Log: entries can now be filtered to include only actions from the user's
review team. - The maximum number of nodes returned to the tracing overlay is now
configurable as a server setting: NODE_LIST_MAXIMUM_COUNT (default 5000). - Group graph: a new lock buttons in the Selection tab allows to lock selected
nodes, so that their position doesn't change until they are unlocked again.
Bug fixes
- Fix display of intermediate nodes on edge between two joined skeletons.
- The last lines of the review widget were hidden sometimes. This is not the
case anymore.
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.
2015.5.27
2015.5.19
2015.5.19
Contributors: Tom Kazimiers
Features and enhancements
Key shortcuts / mouse operations:
- Cycling through open end nodes will now only visit the root node if it is an
actual leaf. That is, when it has only one child node and is untagged.
3D Viewer:
- A light background shading variant for connectors was added. It uses a darker
cyan color which provides more contrast if a white background is used.
Miscellaneous:
- The location of messages and notifications can be configured in the settings
widget. The default location is still the upper right corner. - If the node display limit is hit while panning the field of view in tracing
mode, node refresh will be temporary disabled. Once the mouse button is
released again an no further panning happens within one second, node update is
reset to normal. This allows for smoother panning if many nodes are visible.
Bug fixes
Review system:
- Review teams are now respected when Shift + W is used to jump to the next
unreviewed node.
3D viewer:
- Skeletons with other coloring than "Source", will now be visible when exported
as SVG in the 3D viewer.
Miscellaneous:
- Skeletons added to a selection table, will now honor the table's "global"
settings for pre, post, meta and text visibility. - If an annotation is removed from a neuron, the annotation itself will be
deleted, too, if it is not used anywhere else. Now also meta annotations of
the deleted annotation will be removed (and their meta annotations...), if
they are not used anywhere else.
Release 2015.5.11
Contributors: Albert Cardona, Andrew Champion, Tom Kazimiers
Features and enhancements
Connectivity widget:
- Partner filtering now supports regular expressions when the first character
of the search input is "/".
Treenode table:
- REMOVED: Radii can no longer be edited by clicking on their cell in the
table.
Connectivity matrix:
- The tracing tool has got a new widget: a connectivity matrix. It can be opened
with the "M" frame icon next to the button for the connectivity widget. To use
it, one has to append skeletons for its rows and columns. Skeletons can also
be added as group. Each cell shows two sub-cells, the first one shows the
number of synapses from row to column and the second one the number synapses
from column to row. When a synapse count number is clicked, a connector
selection is opened, that contains the corresponding synapses. Both pre- and
post-synaptic count cells can be colored individually. By default a coloring
similar to the tracing layer's red and cyan is used. There are also color
gradients available to produce heat maps (i.e. color cells based on the
actual synapse count).
Graph widget:
- ability to split neurons by text tag on their skeletons. It's the
"Tag" button under the "Subgraph" tab. Enables you to manually define regions
on a neuronal arbor (like axon and dendrite, or multiple dendritic domains)
and then have them be represented each as a node in the graph. The skeleton
will be virtually cut at the nodes containing the tags, with the tagged node
belonging to the downstream part (relative to the root node).
3D Viewer:
- Color mode "Downstream of tag" is now a shading mode.
- New synapse coloring mode "Same as skeleton". If you then hide the
skeletons and show only the synapses you will e.g. see spatial tiling of ORN
axons, each defining a glomerulus in the larval olfactory lobe. - For PNG and SVG export one can now specify the dimensions of the result files.
A dialog shown before exporting asks for width and height.
Neuron dendrogram:
- The horizontal and vertical spacing between nodes in the neuron dendrogram can
now be fine tuned.
Administration:
- A new tool 'Group membership helper' has been added to add multiple users to
multiple groups or to revoke their group membership. This can be used to
control access over the data created by individual users.
Miscellaneous:
- A node-placement-and-radius-edit mode has been added. If enabled through the
settings widget (Tracing > "Edit radius after node creation"), the radius for
a node will be edited immediately after it has been created. This allows for
easier volumetric reconstruction. In this mode, the radius circle editing tool
is used to specify the radius. No dialog is shown once a radius is selected for
a node and it will only be saved for the new node. - A new connector type ("abutting") can now be created. In contrast to the
regular synaptic connector, it can be used to represent the fact that two or
more neurons are in abutting processes. For now this mode can be activated
through the settings widget (Tracing > "Create abutting connectors"). For
abutting connectors the lines representing the links to nodes will appear in a
green color.
Bug fixes
3D viewer:
- Adding and removing neurons and static data lead in some situations to many
errors that were displayed on the console (and therefore not visible to most
users) and caused minor performance problems. This has been fixed and all data
should now be added and removed correctly. - Following the active node should now work much more reliable. Before, it could
happen that this stopped working after a second 3D viewer was closed.
Connectivity widget:
- Fix one cause of sluggish behavior for widgets that have been modified many
times. Also fixes repeated alert dialogs when clicking a neuron in the
partner tables that no longer exists or does not have any treenodes.
Neuron Navigator:
- Don't show an error if an invalid regular expression was entered for
searching. Instead, color the search box red and show a warning message.
Release 2015.3.31
Contributors: Albert Cardona, Andrew Champion, Tom Kazimiers, Stephan Gerhard
Features and enhancements
Key shortcuts / mouse operations:
- Shift+T removes all tags from the currently active node.
- After using R to go the nearest open leaf, shift+R cycles through other open
leaves in the skeleton in order of ascending distance from the starting
location. Combining alt with these operations orders open leaves by most
recent creation instead of distance. - Ctrl+Y removes the active skeleton from the last used selection widget.
- Shift+Y selects skeletons within a radius of the active node in the tracing
layer and adds them to the last used selection widget. Ctrl+shift+Y works in
the same way to remove skeletons from the last used selection widget. - If the next (or previous) branch/end point is already selected when V (or B)
is pressed, the view will center on it nevertheless. - If the mouse is over the stack when zooming, the view will recenter so that
the same stack location remains under the mouse at the new scale. - During review, Q and W during will refocus on the last reviewed neuron if
review is interrupted (another node is selected), regardless of the auto
centering setting. If one looks beyond the current segment, the last reviewed
node will be selected by Q and W as well, but auto centering is respected.
Review system:
- New "Reviewer Team" system allows filtering reviews in visualizations and
statistics to include only those by particular reviewers. Each user can
control which reviewers to include in her team. A date can be configured for
each reviewer in the team, so that only reviews from that reviewer after this
date are included.- A user's reviewer team is configured through the Settings widget.
- The review widget includes a team column between the user and union columns.
- The percent reviewed column in the selection widget can be set to team or
union. - Team review coloring is available in the 3D viewer and group graph.
3D viewer:
- With Ctrl + mouse wheel, only the camera is moved in target direction, the
target stays fixed. If Alt + mouse wheel is used, the target moves as well. - The CSV export not also includes the parent ID for each node, which can be
used to reconstruct the topological tree. - The auto-created selection widget is now 50% smaller, giving more vertical
space to the 3D viewer. - With the help of controls of the Animation tab, simple animations can be
played. Currently, rotation around the X, Y and Z axis as well as the current
"up" direction of the camera. is supported. The back-and-forth mode will
reverse rotation direction once a full circle is reached. With the help of the
stepwise visibility option, individual neurons can be made visible after a
certain amount of time the animation is running. Additionally, neurons can be
made sequentially visible after each rotation. - Animations can also be exported as WebM movie file. The "Export animation"
button in the Export tab, will show a dialog with basic export settings. Like
with the other view export options, the current 3D view setup is used. The
frame size can be adjusted in the export dialog. Creating the file can take
some seconds and currently only works for the Chrome browser (due to the lack
of WebP support in others). The resulting WebM video file can be converted to
any other format using e.g. VLC player, if needed. - New shading mode "synapse-free chunks". Has one parameter, the minimum amount
of synapse-free cable to consider between two consecutive synapses, adjustable
from the "Shading Parameters" tab. - New shading mode "dendritic backbone". Depends on 'microtubules end' tags, or
will approximate twigs by using the Strahler number entered in the "Shading
Parameters" tab. - The view settings tab now contains a control to scale the size of the node
handles (e.g. active node, special tags).
Tile layer:
- Tiles can now be rendered with WebGL, which enables new visualization features
and fixes some flickering issues. Enable via "Prefer WebGL Layers" in
Settings. The WebGL renderer is currently considered experimental and may have
stability issues on some clients. See
#186 (comment) for
details on using WebGL layers with your image stack host. - The blend mode used to combine stacks and overlays is now configurable when
using WebGL. This greatly improves visualization of confocal and other
multichannel data. Blend mode is selectable from the layers control, activated
via the toggle at the bottom left of the stack view. - Filters can be applied to layers when using WebGL. Filters can be added and
removed from layers through the layers control. Available filters currently
include:- Gaussian blur
- Color inversion
- Brightness, contrast and saturation adjustment
- Color matrix transform
Connectivity widget:
- It is now possible to remove added neurons again. Each row of the table of
target neurons now contains a small 'x' icon in the first column to remove it. - The selection column is not included anymore in the CSV export.
Analyze Arbor:
- Options are provided to approximate twigs by using a branch Strahler number
defined in the "Options". - Dimensions of the pie charts and XY plots is now configurable from the
"Options" dialog.
Graph widget:
- New button to "Clone" the graph widget: opens a new widget with identical content.
- New buttons to "Save" and "Open..." to/from JSON, so that complex graphs can be
reloaded later on. Skeletons not present in the database are not loaded.
Miscellaneous:
- Selecting tags for highlighting in the neuron dendrogram
- Synchronization between widgets was improved. Deleting a neuron in one widget,
will remove it from other widgets as well. - Hovering over the CATMAID text on the front page will display CATMAID's
version.
Admin:
- For projects, stacks, overlays and data views there is now the option to
duplicate objects from within the admin view. To copy objects without their
relations, there is now a new action in the list view's action menu. To
duplicate an entity with its relations, select the object and use the "save as
new" button.
Export:
- A basic JSON export of all treenodes and connectors of the selected neurons is
now possible.
Bug fixes
Tracing overlay:
- Trying to remove a non-existent tag from a node now doesn't show an error
dialog anymore, but only a notification.
Key shortcuts / mouse operations:
- Fix bug where tagged nodes were not considered open by R regardless of tag
content.
Neuron search:
- Make neuron names wrap and use the next line, if there is not enough space for
it. This makes the table not expand in width until the name fits anymore.
3D viewer:
- Picking a synapse or other selectable elements is now more robust and now
works also in orthographic mode. - The projection mode (orthographic or perspective) is now also stored in a
saved view. - The 3D viewer's drawing canvas is now correctly sized again. Since the tab
panel has been introduced, the 3D viewer has been too high. Now the
pre-defined views (XY, XZ, ZY, ZX) are display correctly again, i.e. the whole
bounding box is now seen again. - Performance enhancement when smoothing skeletons with a Gaussian by avoiding
to update the same Vector3 instances twice.
Reviews:
- Pressing 'E' during review will now go to the next unreviewed segment as seen
from the currently reviewed one. Before, the first unreviewed segment as seen
from the top of the table was selected. - Pressing 'Q' on the first node (leaf) brings one back one section to check if
the segment really ends. Pressing 'W' afterwards now brings one back to the
first node, not the second like it has been before.
Connectivity widget:
- CSV export works again.
Miscellaneous:
- Vertical resizing of widgets now doesn't lead to strange size changes anymore.
- An alternative DVID tile source was added to support its multiscale API.
Release 2015.1.21
Contributors: Albert Cardona, Andrew Champion, Tom Kazimiers
Features and enhancements
General neuron tracing:
- A new radius editing option has been added that propagates from the current
node root-ward to the previous node with an undefined radius (exclusive).
Here undefined is taken to be a negative radius, since though the column
default is 0 Django initializes it to -1.
Miscellaneous:
- Users need now to confirm the closing of the last stack.
Bug fixes
Tracing overlay:
- A label is now hidden when the mouse hovers over it. Note that this only works
for one label at a time, so it is not effective for overlapping labels. A
robust solution would require more expensive event propagation over label
elements. - Fullscreen on OS X Safari should now work, too.
- Nodes and arrows are now drawn in order: lines, arrows, nodes, labels
- Fix bug that could occur during radius propagation when the previous node
already had a radius defined. - Fix mouse handlers of node and error drawing, which were broken by adding
ordered drawing.
Synapse clustering:
- A long-standing error has been fixed where a few nodes where added to an
undefined cluster.
Group graph:
- The root node computation has been fixed.
- Listing edge synapses now also works with split grouped neurons.
3D viewer:
- Make synapse clustering fetch synapses properly (like it is done in the Group
Graph).
Release 2015.1.15
Key shortcuts / mouse operations:
- A new shortcut key to navigate to a node's child has been added: ]. It
behaves like V by navigating to the largest descendant branch. With
Shift+] one cycles through sibling branches in order of descending
size. - For consistency, the P shortcut to navigate to the parent has been
replaced with [. - Navigation to the next branch has changed a bit: The V key now moves
to the next branch node or end of the largest descendant branch of the
active node, and subsequent presses of shift+V cycle through other
possible descending branches in order of decreasing size. - While editing the radius of a node with the help of the surrounding
circle, a click will confirm the current radius (not only pressing 'o'
again). The radius editing can now also be canceled with the Esc key. - With Ctrl+Alt+click one can now insert a node into the active
skeleton between two existing nodes.
Zoom:
- Zooming is now also possible in smaller steps. The plus and minus
buttons zoom in steps of 1 and with having the Shift key pressed
additionally, steps of 0.1 are used.
3D viewer:
- New export options (Export tab):
- CVS representation of the rendered skeletons;
- PNG and SVG image of the current view;
- SVG catalogue of the current view. The catalogue contains each
neuron a separate panel on the same SVG document--very useful to
generate figures for a paper. Options are provided to sort and arrange
panels, and to define pinned neurons that appear in each panel (e.g. a
somatosensory axon that acts as reference for each neuron connected to
it).
- New "Spatial select" button (Main tab) that allows to select
skeletons near the active node or connected to the active skeleton,
within a specified distance. Matching skeletons will be shown in a new
selection table. This is useful to e.g. select all single-node
skeletons connected to the dorsal lobe part of a Kenyon cell. - Supports orthographic projection (see checkbox in View tab) so that
no perspective distortion is applied and distances become comparable
between different parts of the view. - The 3D viewer now has the option to follow the active node (View
tab). This acts like clicking "Center active" after each active node
change. - One can bookmark views in the 3D viewer, by pressing "Save view" in
the Main tab. Views can be loaded by selecting them from the drop down
list next to the button. These bookmarks are currently discarded once
CATMAID is reloaded. - When Ctrl is pressed while zooming in the 3D viewer with the scroll
wheel, the camera is actually moved towards its target. This is useful
to overcome zooming limits and strong perspective distortion due to a
high focal length when zooming.
Selection table:
- "Randomize colors" in the selection table was replaced by a drop
down list with different color schemes and the button "Colorize" to
apply the selected one. The default is the coloring scheme that
existed before. Some of the new color schemes are from Cynthia Brewer
(see http://colorbrewer2.org/ ). - Neurons are activated by clicking on the name, like in all other
widgets. The green tick icon has been removed. - New check box for each neuron called "meta" to toggle the display of
extra information like the orange spheres for specially tagged nodes
(TODO, uncertain end, etc.) or low confidence nodes.
Dendrogram:
- Can now collapse nodes belonging to a branch that ends in a node
tagged "not a branch". - One can now highlight multiple tags in the dendrogram by separating
them with commas.
Graph widget:
- Subgraphs (like axon & dendrite) can now be reset in the graph widget.
Annotations:
- When adding an annotation, the pattern "{nX}" can be used to add an
automatically incrementing number to each neuron annotated, starting
at X. So if e.g. three neurons are annotated at once with the
annotation "test-{n5}", the first one is annotated with "test-5", the
second one with "test-6" and the last one with "test-7". Omitting X
will be interpreted to start from 1. - When skeletons are joined, the name of the "losing" skeleton can now
be added as an annotation to the "winning" skeleton right in the
dialog. Its checkbox is unchecked by default, if the name follows the
auto-generated name pattern "neuron 12345".
Searching:
- The neuron name input boxes in both search widgets will now remember
entries that have been used before.
Handling the unexpected:
- A general error handler has been added so that CATMAID should
hopefully not crash anymore, even if an error occurs. In such
situations an error dialog is shown and the error is logged on the
server so that we can investigate better what went wrong.
General neuron tracing:
- A robust synapse clustering method was added: centrifugal synapse flow
centrality. Many widgets now support a new method for finding axons based on it
(e.g. in the 3D viewer as a shading method. - The connector table now displays the confidence of each link
- Basic import/export support was added. There are two new management commands
that can be used by admins to import and export tracing data.
Users and groups:
- Support user registration (disabled by default). Default user groups for new
users can be set.
Miscellaneous:
- A new ROI tool was added, which can be activated for each user through the
user settings. It currently supports only the creation of new ROIs. Additional
sub-tools will be added for more functionality.
Contributors:
This update brought to you by Tom Kazimiers, Andrew Champion, Stephan
Gerhard and Albert Cardona.