Skip to content

2017.07.28

Compare
Choose a tag to compare
@tomka tomka released this 28 Jul 04:52
· 4725 commits to master since this release

2017.07.28

Contributors: Chris Barnes, Albert Cardona, Tom Kazimiers, Daniel Witvliet

Notes

  • Prepared statements can now also be used together with connection pooling.

  • A virtualenv update is required.

  • The following lines have to be removed from settings.py,

    import djcelery
    djcelery.setup_loader()
    INSTALLED_APPs += ("kombu.transport.django")
    BROKER_URL = 'django://'
    
  • Two new treenode and connector node providers have been added: postgis2dblurry
    and postgis3dblurry. They works like the regular postgis2d and postgis3d node
    providers except that they allow more false positives, because edges are only
    tested for bounding box intersection with the query bounding box. Depending on
    the dataset, this can help performance but might require a larger node limit.

Features and enhancements

Synapse Fractions:

  • New button "Append as group". Multiple neurons will be shown in a single column.

  • New UI functions to set the synapse confidence.

  • Default to Upstream (fractions for input neurons).

  • Shift-click to toggle selected state of partner neurons or groups, and then
    push 'J' to create a new partner group.

  • X axis labels can now be rotated, from the Options tab.

  • Node filters can now be applied to filter valid connector links.

3D Viewer:

  • New skeleton shading modes:

    • "Axon and dendrite": like the coloring mode "Axon and dendrite", but using
      shading like in the "Split at active node" mode.
    • "Single Strahler number": color branches of a specific Strahler number
      in full color, and darken everything else. The Strahler number is specified
      in the tab named "Shading parameters".
    • "Strahler threshold": color branches of a Strahler number equal or higher
      than the number specifed in the Stahler number field ("Shading paramters"
      tab) in full color, darken all others. When inverted, show in full color
      branches with a Strahler number strictly lower than the specified one.
  • The Z plane display now supports stack viewer layers. If multiple layers are
    shown in a stack viewer, its Z plane will render all visible layers on top of
    each other.

Review widget:

  • Large neurons are handled better, rendering tables with many segments is
    now faster.

  • The set of displayed columns can now be constrained with the help of the new
    "Visible reviewers" setting in the widget. Available options are "All", "Team"
    and "Self".

  • A new option to automatically scroll the active segment into view has been
    added ("Scroll to active segment"). With this enabled (default), when a node
    of a segment of the reviewed skeleton is selected in the tracing layer, the
    review widget will scroll the segment into view.

  • State saving is now supported.

Node filters:

  • A Strahler number filter has been added to only show nodes with a Strahler
    value below/same as/above a user defined number.

Neuron Search:

  • It is now possible to use the "not" operator with neuron name and annotation
    search criteria.

  • Both neuron name and type columns can now be sorted.

  • Filters are now supported. Only neurons will be shown of which at least one
    node is in the node filter result set.

Neuron History:

  • This new widget can be opened using Ctrl+Space together with the key
    "neuron-history" or through a button in the Neuron Navigator.

  • For all neurons added to this widget, time related information is presented.
    Currently, the following is calculated: Tracing time, review time, cable
    length before review, cable length after review, connectors before review and
    connectors after review.

  • The components that contribute to the tracing time can be adjusted with the
    "Tracing time" drop down menu.

Reconstruction Sampler:

  • This new widget can be opened using Ctrl + Space and the keyword
    "reconstruction-sampler". It allows to target reconstruction effort based on
    the spatial sampling of a skeleton. This is mainly useful for large neurons
    that can't be quickly traced to completion. The widget is organized as a
    workflow that prevents skipping steps.

  • To keep track of reconstruction progress, a so called sampler is created
    for a skeleton of interest. This skeleton is typically the backbone of a
    larger neuron. The sampler keeps track of some global properties for the
    sampling. Once created, a sampler can be "opened" either by clicking "Open" or
    by double clicking the respective table row. Also note that with a sampler
    attached to a skeleton, the skeleton can not be deleted. If a skeleton should
    be deleted, delete its samplers first.

  • Once opened, a sampler allows creating so called sampler domains, which are
    regions on the skeletons which should in principle be considered for sampling.
    Topological and tag based definitions of sampler domains are possible. Created
    samplers can be opened through a click on "Open" or a double click on the
    table row.

  • Once opened, sampler domains can be further divided in so called sampler
    intervals. To do so the "Create intervals" buttons has to be pressed. These
    have initially all the same length (defined in sampler) and no branches.
    Intervals are meant to picked at random through the respective button.

  • With an interval selected, the goal is now to reconstruct it to completion
    with all branches and connectors. CATMAID will show a warning when moved out
    of the interval. The workflow page will show both input and output connectors.

  • As soon as the interval is reconstructed completely, a synapse can be picked
    at random from which the next backbone can be reconstructed. Once the backbone
    is found and reconstructed, the sampling can start over. Alternatively,
    another interval in the original skeleton can be selected at random.

Miscellaneous:

  • Split/Merge dialog: the node count for both respectively remaining/new and
    remaining/old are now on top of the annotation lists.

  • The General Settings section of the Settings Widget now provides an option to
    disable asking for confirmation when the active project is closed.

  • Tile layers can now be configured to not automatically switch to the next
    accessible mirror if the present one is inaccessible. This is useful for some
    custom mirror use cases and can be set through the "Change mirror on
    inaccessible data" checkbox in the layer settings.

  • Empty neuron name pattern components are now by default trimmed automatically.
    Empty components at the pattern endings won't leave any white space behind.
    Empty components between other components are allowed one space maximum (if
    there were spaces before). The difference is visible e.g. in the Graph Widget.

  • URL-to-view links now allow selected connector nodes.

  • Adding a custom mirror will now by default disable automatic mirror switching
    of the respective tile layer. Custom mirrors often come only with a subset of
    the data, which currently triggers a mirror switch by default if some tile is
    not accessible.

  • The tracing layer is now faster with creating skeleton nodes, connectors and
    partner nodes by avoiding unneeded node updates.

  • Export widget: exporting neurons as NRRD files is now supported. The NAT R
    package is used for this. Check documentation for setup.

  • The tracing tool has now a button to refresh CATMAID's caches for neuron names
    and annotations. This can be used to update neuron names with components that
    were changed by other users. Additionally, such a cache update is performed
    automatically once every hour.

  • URLs to a particular view work now also with a location and a skeleton ID only
    rather than requiring a node ID always.

  • Using "Shift + x" and "Ctrl + x" will now activate a checkbox selection mode
    and the cursor turns into a crosshair. In this mode one can draw a rectangle
    everywhere on the screen and all checkboxes that are behind the rectangle will
    be toggled using "Ctrl + x" (turned on if off and vise versa) or checked with
    "Shift + x". Either releasing the drawing mouse click or a second "Shift + x"
    or "Ctrl + x" will deactivate the tool again.

  • All skeleton source widgets (typically those with a skeleton source drop-down
    menu) now support copy and paste of skeleton models. Pressing "Alt + Ctrl + c"
    in an active widget will copy its skeletons (along with colors) into a
    clipboard. Pressing "Alt + Ctrl + v" in another widget will then paste those
    models into the now active widget.

  • When using the Z key to create new nodes, existing nodes are not as easily
    selected from a distance anymore. Before, the radius around a click event was
    too large and the closest node around the click was selected. Other nodes will
    now only be selected if the mouse cursor is close to their circle graphic on
    screen.

Bug fixes

  • Graph widget: re-layout works again.

  • The Docker image can be used again without requiring a manual restart of the
    uWSGI server.

  • Zooming in using the "=" key and using Shift + Z to join and create nodes both
    work again.

  • Links inside the simple Search Widget can be clicked again.

  • Back-end calls with large parameter lists can be used again (e.g. review
    status in the Connectivity Widget).

  • Highlighted tags in the Neuron Dendrogram widget are now correctly displayed
    next to the nodes they belong to. Before, each tagged node had all selected
    tags shown next to it, regardless of whether it would be tagged with them.

  • 3D viewer: the textured Z section rendering in the 3D Viewer now respects the
    mirror setting from the tile layer.

  • 3D viewer: a memory leak in displaying Z sections with images has been fixed.
    This allows long continued Z section browsing without crashing.

  • 3D viewer: the accurateness of object picking on neurons and location picking
    on z panes has been improved.

  • Cropping image data works again.

  • Setting a stack viewer offset won't cause an error anymore.

  • User interaction without a reachable server (e.g. due to a disconnected
    network) doesn't lead to image and tracing data freezing anymore.

  • Pressing key combinations before the tracing layer has loaded is now handled
    more gracefully (no error dialog).

  • 3D viewer: the active node split shading can now handle changed virtual nodes
    to which it is lacking information and won't raise an error.

  • All newly opened widgets that support it, appear now in the "skeleton source"
    drop-down menus of all other widgets from that moment on. This was a problem
    mainly with Analyze Arbor, Measurements Table, Morphology Plot, Neuron
    Dendrogrm and Treenode Table.

API Changes

Additions

None.

Modifications

  • POST /{project_id}/skeletons/import:
    The new 'name' parameter can be used to set the name of a new neuron.

  • POST /{project_id}/annotations/query-target:
    A boolean 'name_not' parameter is now accepted to get results not matching the
    name passed in with the regular 'name' parameter. Also, an integer list
    parameter named 'not_annotated_with' is now supported. Like the
    'annotated_with' list, it contains annotation IDs. Results will not have the
    annotations passed in with the not_annotated_with list.

  • GET /{project_id}/skeletons/{skeleton_id}/compact-detail and
    GET /{project_id}/skeletons/compact-detail
    Accepts two new parameters: with_reviews and with_annotations. To also return
    a list of reviews and a list of linked skeleton IDs respectively for each
    returned skeleton.

  • POST /{project_id}/volumes/{volume_id}/
    Individual fields can now be updated selectively. Only fields that are passed
    in as arguments will be updated. This allows for instance to only change the
    name of a volume.

Deprecations

None.

Removals

None.