Python-catmaid

Latest version: v2.4.1

Safety actively analyzes 682387 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 7

2018.02.16

Contributors: Andrew Champion, Albert Cardona, Chris Barnes, Tom Kazimiers

Notes

- Three new OS package dependencies have been added (due to a Django framework
upgrade), make sure they are installed:

sudo apt-get install binutils libproj-dev gdal-bin

- Python 3.6 is now supported. Make sure to update your settings.py by replacing
the line

COOKIE_SUFFIX = hashlib.md5(CATMAID_URL).hexdigest()

with the following line:

COOKIE_SUFFIX = hashlib.md5(CATMAID_URL.encode('utf-8')).hexdigest()

- A virtualenv upgrade is required. To correctly install one updated dependency,
the django-rest-swagger Python package has to be removed first from from the
virtualenv, before the virtualenv is updated:

pip uninstall django-rest-swagger
pip install -r requirements.txt

- `requirements` files now inherit from each other: `-test.txt` includes
the production requirements, `-dev.txt` includes test (and therefore
production) and doc.

- CATMAID extensions no longer require users to manually edit their
`INSTALLED_APPS` in `settings.py`. Remove if they are already in use.

- The NODE_PROVIDER settings variable (settings.py) is replaced with the
NODE_PROVIDERS variable. The new variable takes a list of node provider names,
which are iterated as long as no result nodes are found. Replace the former
single string value with a list with this name as single element, e.g. if
the current setting reads NODE_PROVIDER = 'postgis2d', replace it with
NODE_PROVIDERS = ['postgis2d'].

- Three new types of cache backed node providers have been added: cached_json,
cached_json_text, cached_msgpack. Tests suggest that cached_msgpack is the
fastest.


Features and enhancements

Reconstruction Sampler:

- 3D previews now allow to use a white background and toggle meta spheres.

- To match a given interval length, the Reconstruction Sampler will now create
new nodes during interval creation. This allows better sampling on long
straight lines without intermediate nodes. To disable this behavior uncheck
the "Create bounding nodes" setting. Newly created nodes are automatically
labeled with the "sampler-created" tag.

- By adjusting the new interval "max error" setting, it is possible to only
create bounding nodes (if enabled) if the closest existing node is farther
away from the ideal location than the max error value. This allows better
reuse of existing nodes.

- Created interval boundary nodes are also automatically deleted on sampler
removal, if possible. If a created node has not been altered in any way during
its life time and it still forms a straight line with its parent and single
child, it can be removed. Otherwise the node is kept.

- A new "Partner" step has been added. After a connector is selected at random,
users are now asked to add all partner nodes to the synapse and let the widget
choose a partner site for them.

- Sections that should be interpolated (e.g. because of large tracing data
shifts due to image data shifts) are now respected and not over-sampled
anymore.

- Completed intervals can now be optionally excluded from random selection.

Node Search:

- Tagged connector nodes are now shown in search results.

- Annotation search results allow now to open the Neuron Navigator page for the
respective annotation.

Graph Widget:

- It is now possible to show links of all connector types. By default, only
synaptic connectors are available, but this can be changed using the "Link
types" drop down control in the Graph tab. There also the edge color for
particular link types can be set.

- The edge color button in the option dialog has been replaced with a link type
drop down which allows to set color and visibility per connection type.

3D Viewer:

- Stored interpolatable sections are now loaded by default. Additional project
space sections can be configured from the Skeleton filters tab.

- Custom tags can now also apply to predefined labels like TODO or
uncertain_end.

Miscellaneous:

- The maximum number of frames per second rendered by a stack viewer window can
now be adjusted through the Settings Widget > Stack view > Max frames per
second.

- The Open Widget dialog is now only opened with Ctrl + Space when no other keys
are pressed. This allows to use key combinations like Ctrl + Shift + Space + >
to browse smoothly through the image stack while hiding the tracing layer.

- The active node can now be moved in Z by holding the `Alt` key and
using `,`/`.`. The stack viewer follows the node.

- Filters: a Reconstruction Sampler Domain node filer is now available. The
required node ID can be optained from the Reconstruction Sampler Widget.

- Neuron History: a lower and upper bound for the time window in which changes
are respected and counted can now be set.

- On CATMAID front-pages (project overview) the keys 0-9 can now be used to open
the n-th stackgroup or stack, stackgroups have precedence.

- Sections in which nodes should be interpolated for various displays can now be
persisted in the database using the "interpolatable sections" data model from
the admin interface.


Bug fixes

- Reconstruction sampler: Strahler shading color updates work now reliably.

- Reconstruction sampler: connectors in neighboring intervals are now not
included anymore in connector listing.

- 3D Viewer: SVG export styles are correctly applied again, the exported data
isn't transparent anymore.

- 3D Viewer: custom label matches are now always given precedence when multiple
labels are matched on a node.

2017.12.07

Contributors: Albert Cardona, Andrew Champion, Chris Barnes, Tom Kazimiers
Notes

- PostgreSQL 9.6 and Postgis 2.4 are now required.

- A virtualenv upgrade is required. To correctly install one updated dependency,
the django-rest-swagger Python package has to be removed first from from the
virtualenv, before the virtualenv is updated:

pip uninstall django-rest-swagger
pip install -r requirements.txt

- New settings field: CROPPING_VERIFY_CERTIFICATES. This controls whether SSL
certificates should be verified during cropping and defaults to True.

- The NODE_LIST_MAXIMUM_COUNT setting can now be set to None, which disables
node limiting. If node count limiting isn't really needed in most cases, this
can slighly improve query performance.

- The file `UPDATE.md` will now list all administration related changes for each
release, including required manual tasks. These changes also continue to be
part of this change log.

- Requires running of: manage.py catmaid_update_project_configuration

- Tracing data is now by default transmitted in a binary form, please make
therefore sure your web-server applies GZIP not only to the "application/json"
content type, but also to "application/octet-stream". For Nginx this would be
the gzip_types setting.


Features and enhancements

Node filters:

- A new node filter called "In skeleton source" has been added. This allows to
add a filter which only allows nodes of a particular set of skeletons,
accessed through a skeleton source. This can be useful to look at connectivity
of a particular set of neurons. It can of course be combined with other
filters like volume intersection.

- New filter: Pruned arbor, which keeps the arbor proximal to the (tagged) cut
points, discarding distal subarbors.

Connector table:

- Node filters are now supported.

- Attachment connectors are now supported.

Landmarks:

- The new "Landmark Widget" allows to create landmarks, form groups of them and
use these groups to virtually transform skeletons from one landmark group into
another one. This can be used e.g. to find homologues neurons. Virtual
skeletons can currently displayed in the 3D Viewer.

- Defining landmarks and their groups is done in two stages: 1. define abstract
landmarks and group those abstract landmarks. 2. link locations to individual
landmarks and their presence in a group.

- Abstract landmarks represent e.g. a feature that can be found at multiple
places in the data set, like the entry point of a particular neuron on the
left and right side of a Drosophila brain. The left and right side of the
brain would then be represented as groups, each one having expected abstract
landmarks as members.

- Creating new abstract landmarks and groups can be done through the respective
"Name" fields and "Add" buttons in the Landmarks tab. To link an abstract
landmark to a group, click on either an existing landmark group member in the
landmark groups table or on the "(none)" placeholder. The newly opened dialog
will allow to associate landmarks with groups. Landmarks can be member of
multiple groups.

- Linking locations to landmarks and the groups they are member of is done by
using the right click context menu on either an existing location in the
"Locations" column of the Landmarks table or the displayed "(none)"
placeholder. Currently, the location of the active node or the center of the
stack viewer can be linked. When using the latter option, it might be a good
idea to enable the display of reference lines in the Settings Widget.

- To be able to use a landmark location in a transformation, the locations
linked to landmarks need to be associated with at least one group. If for
instance a physical location for the abstract landmark representing a
particular neuron entry point has been found for the left side of a Drosophila
brain, this location would be linked to the landmark itself and to the group
representing the left side of the brain. To link the location to the group,
right click the index number in the landmark's row in the Location table, the
context menu will allow to add the landmark to all groups the abstract
landmark is a member of (removal works the same way).

- Virtual skeleton transformations can be created from the "Display" tab. After
selecting a target 3D Viewer from the drop down menu, the skeletons to create
transformed virtual version for, have to be selected by choosing a skeleton
source. With this done, a source and target landmark group can be selected.
Transformations are only expect to provide reasonable results if the
transformed skeletons are "enclosed" by the landmark group.

- The "Import tab" allows to import multiple four-column CSV files into landmark
groups. The expected format is: Landmark name, X, Y, Z. Each file can be
associated with one landmark group, landmarks with the same name will be
matched.

3D viewer:

- Landmarks and landmark groups can be displayed. Similarly to volumes
individual groups can be selected and adjusted through the "View settings"
tab. Apart from the color and mesh-faces option for groups, it is possible to
scale landmarks.

- All visible skeletons can now be exported as Wavefront OBJ file. Each skeleton
will be rendered as a separate group, colors are preserved and written out as
material file (MTL). Both files can be compressed as ZIP file on the fly and it
is possible to generate a simple line based export as well as a mesh based
representation using a user definable radius. The generated ZIP file can be
used with services like augment.com.

Neuron history widget:

- A user filter can now be applied through the respective checkbox drop down
element. If at least one user is selected, only events caused by those users
are respected.

New connector types:

- Two new connector relations are available: attached_to and close_to. Like
other connector relations, they can be used to link treenodes to connectors
and can be used with the help of Alt + Click context menu when a treenode is
selected. They are available as "Attachment" and "Close to".

- If If a connector has at least one attachment relation is viewed as
"Attachment connector" and additional clicks with such a connector selected
will create "Close to" edges.

- To add more information about the nature of an attachment, the connector
should be labeled, e.g. as "vesicle".

Connectivity Widget:

- All skeletons linked through a attached_to -> connector -> close_to
relationship are now shown in a separate table if the "Show attachments"
option is enabled.

Export management command:

- The export management command will now also export meta-annotations when the
--annotation option is set. All meta-annotations of annotations directly
linked to the exported neurons are exported, too.

- Users referenced by any of the exported objects are now also exported
automatically. This can be disabled using the --nousers options.

- User references are now stored as usernames rather than numerical IDs. This
removes the requirement of always also exporting user models, because users
can be mapped based on their usernames.

Import management command:

- The new --map-users option allows to map users referenced in the imported data
to already existing users in the database. This makes updating existing
databases easier and removes the de facto import data requirement to contain
user models. By default --map-users is not set.

- The new --create-unknown-users option will instruct the importer to create
new inactive user accounts for users that aren't included as objects in the
imported data. If user mapping is enabled, accounts would only be created for
users that can't be mapped and are also not included in the import data. By
default --create-unknown-users is not set.

- Imported class, class instance and relation objects are skipped when
existing objects in the target project have the same name. This makes merging
of projects also possible for semantic data (e.g. annotations, tags). The only
exception are neuron class instances, where two different objects are allowed
to have the same name.

- The importer now won't keep the IDs from spatial objects in the input source,
but will instead always create new objects. This ensures no existing data is
replaced and allows importing different sources into a single CATMAID
instance. If the original IDs have to be used, the ``--preserve-ids`` option
can be used. This is done for treenodes, connects, and their links.

Miscellaneous:

- Users can now choose alternative markers for connector nodes, which do not
obscure the object being annotated: this encourages manually annotating
synapses etc. in a manner which is more comparable with automated detections

- Exported sub-stacks now include the Z resolution.

- Added table of reviewers vs number of nodes reviewed to the "Summary Info"
in the Selection Table widget.

- Synapse distribution plot: global and single-axis zoom and pan are now
supported.

- Neuron dendrogram: nodes linked to connectors (synaptic sites) can now be
highlighted.

- Tracing layer: cached tracing data is now used by default when showing
sub-views of previously loaded data. This is useful for e.g. quickly zooming
in. Like with the regular node cache, views not used for one minute will be
thrown away.

- All users can now view their user analytics plot with the help of the Project
Statistics widget.

- The NRRD file export can now transform from FAFB v14 into template brain
space.

- Synapse Fractions: the button "Group all ungrouped" will move all skeletons
that are not part of a group already and not part of "others" into a new
group. To also include skeletons in "others", use a synapse threshold of zero
in the "Filter partners" tab.

- Selection Table: Open/Save (JSON) does now preserve the order of skeletons.

- Tracing data should load faster due to spatial query improvements and
reduction of transferred data. The tracing layer transfers data now in binary
by default, which can be adjusted in through the tracing layer settings.

- The catmaid_setup_tracing_for_project management command does not require a
--user argument anymore. If not provided, the first available admin user will
be used.

Bug fixes

- 3D Viewer: the visibility of skeletons with connector colors the same as the
skeleton can now be controlled correctly.

- Selecting nodes explicitly with multiple stackviewers open (e.g. by
Shift-Click in the 3D Viewer) sometimes raised an error about not being able
to find the selected node. This is fixed now.

- Entries in the Treenode Table can now be correctly sorted by date.

- Cropping tasks can now work with HTTPS URLs.

- Graph widget: new skeletons can now be added again after individual skeletons
have been split.

2017.10.02

Contributors: Chris Barnes, Dylan Simon, Albert Cardona, Andrew Champion, Tom Kazimiers

Notes

- A virtualenv update is required.

- This release adds optional statics summary tables, which can increase the
performance of project/user statistics significantly, but statistics will also
be correct without them. The additional table keeps aggregated information
about various user actions. To initialize this table, the following
manangement command has to be run after the migration:

./manage.py catmaid_populate_summary_tables

To maintain good performance, this command has to be run regularly, e.g.
through a cron job or Celery every night. Because summary updates are
incremental by default, they don't take much time to update.

- CATMAID's Docker images changed: The existing `catmaid/catmaid` image is now
only a base image that is used for a simple standalone demo image, available
as `catmaid/catmaid-standalone`. Additionally, the base image is used in a new
docker-compose setup, which can be used if persistent data is required. The
documentation has been updared with all the details.

- The Docker default port is now 8000 for both regular setups and docker-compose
setups.

- The data view "legacy project list" has been renamed to "simple project list".
It now supports separate project title and stack title filters, which can be
preconfigured using the data view config options "projectFilterTerm" and
"stackFilterTerm". For both simple terms and regular expressions can be used.
The filter input boxes can optionally be hidden by setting the "filter" config
property to false.

- Running periodic tasks is now easier and a default setup for cleaning up
cropping data at 23:30 and update tracing project statistics at 23:45 every
night is now available. All it needs is to run a Celery worker and a Celery
beat scheduler. The documentation has more details.

- The cropping output file file name prefix and file extension can now be
specified from settings.py. The defaults are:

CROPPING_OUTPUT_FILE_EXTENSION = "tiff"
CROPPING_OUTPUT_FILE_PREFIX = "crop_"

- CATMAID can now make use of a ASGI server to utilize WebSocket connections.
Such a server (e.g. Daphne) needs to handle URLs that start with /channels/.
Currently only messages can be updated this way, which already removes many
requests for setups with many users. This allows for instance an immediate
feedback after a cropping a sub-stack finished without requiring the client to
check for new messages every minute.


Features and enhancements

Project/user statistics:

- The widget should now be much faster.

- Import actions are not counted anymore by default. The "Include imports"
checkbox can be used to change this.

- State saving is now supported.


Neuron history:

- Events by different users are now collected in separate bouts to attribute
parallel user activity. To restore the previous behavior (users are ignored)
the "Merge parallel events" checkbox can be checked.

- State saving is now supported

- Individual neurons can be removed with the help of an "X" icon in the firs
column.

- A "total time" column has been added, which aggregates time across all active
bouts formed by both tracing and review events. Since events are binnned in
bouts, the total time is not just the sum of both tracing time and review
time.


Node filters:

- A Reconstruction Sampler interval can now be used as a node filter. This
allows e.g. reviewing only an interval or look only at the connectivity of
the interval.


Graph Widget:

- Edge labels can now take different forms and can be configured in the
properties dialog. There are two new label options available: "Fractions of
outbound connections" and "Fractions of inbound connections". Instead of an
absolute number they display the relative fraction. This works for both
regular connections and connections involving groups.


Reconstruction sampler:

- Intervals for a particular interval length can now be previewed before
creating a new sampler. To do so, use the "Preview intervals" button in the
Sampler tab.

- Interval reviews can now be initiated directly from the interval step table.
It will open a new review widget with pre-set interval filter and added
skeleton. The same is possible from the synapse workflow step using the
"Review interval" button.


Layouts:

- The Stack View section of the Settings Widget allows now the configuration of
a list of default layouts that can be applied to newly opened stacks and stack
groups. Layouts are useful for having a reasonable default configuration of a
newly opened CATMAID workspace including stacks and stack groups.

- Layouts mimic nested function calls and are constructed from v(a,b) and h(a,b)
elements for vertical and horizontal splits, o(a) for optional windows, where
a and b can each be other v() or h() nodes, one of [XY, XZ, ZY, F1, X3D] or any
quoted widget handle (e.g. "neuron-search", see Ctrl + Space). At the moment,
in o(a), "a" can't be XY, XZ or ZY. To reference the 3D Viewer use X3D.

- By default only one layout is available: organize XY, XZ and ZY in four
quadrants using one additional window (if non available the help page). This
is its specification: h(v(XY, XZ), v(ZY, o(F1))). With h() and v(), horizontal
and vertical splits are declared, respectively. With o(F1) a help window will
be opened as fourth window if not already another window exists.

- Useful for organizing orthogonal views in a custom way and to create default
workspaces. For instance, to always open a Neuron Search widget right to the
a single XY view stack, the layout can be used: h(XY, "neuron-search").


CATMAID extensions:

- As well as supporting standalone 3rd party static files, CATMAID now supports
fully-featured extensions, which can include database models, API endpoints,
and tests as well as static files.

- CATMAID extensions are Django apps which follow a particular layout, and can
be installed with `pip`

- The goal is for CATMAID extensions to be reusable and interoperable
between versions and installations of CATMAID, reducing the need to fork it
and keep the fork updated in parallel.

- More details can be found in the docs.

- CATMAID-autoproofreader extensions has been added to the list of
known extensions.


3D viewer:

- Volumes can now be filtered in the volume drop-down menu with the help of a
built-in text box.


Miscellaneous:

- The Open Widget dialog now displays a table that includes more information on
widgets. Instead of the previously used auto-completion this table is now
filtered.

- If multiple tile layers are used, the stack viewer layer settings (blue white
box in lower left corner) allow to set which stacks should be respected if
broken sections are skipped. This can be done through the "Skip broken
sections of stacks" drop-down menu. Whether layers added after the first layer
should be respected by default when checking for broken sections can be set in
the Settings Widget in the "Stack view" section.

- The dialog to add a new annotation displays now the existing annotations as
well.

- Tabbed windows: changing window aliases are now reflected in tab headers.

- The performance of node creation and deletion operations has been improved by
preventing full node updates after these operations.

- Widgets with state saving support now also support removing previously saved
states through a button in the widget controls available through the window
icon in the widget title bar.

- The Selection Tool (the first icon in the top bar) has been removed, because
it didn't provide any functionality. It is replaced by an icon to show the
"Open Widget" dialog, which can otherwise be shown using Ctrl + Space.

- When splitting a skeleton on a virtual node, the virtual node will now only be
instantiated if the user presses OK in the dialog, canceling won't cause a
change of the virtual node.

- The default for hiding tile layers if the nearest section is broken (instead
of showing the next available) can now be configured from the Settings Widget
in its Stack View section.

- `plotly.js`, a d3-based plotting library, is now available within CATMAID,
making it much easier to generate common plots.


Bug fixes

- Review widget: moving in reverse direction from a virtual node doesn't show
error anymore.

- Review widget: the Shift + Q key combination to select the next unreviewed
node in downstream direction is respected again.

- Review widget: Shift + W and Shift + Q work now correctly if the first
unreviewed node is a virtual node.

- Key combinations involving the Alt key were not respected on Mac OS. This is
fixed now.

- Reconstruction sampler: the list of connectors in the selected interval of the
synapse workflow step is now complete when refreshed.

- 3D viewer: the error shown when changing skeleton properties with an active
connector restriction is fixed.

- The neuron history widget now calculates both tracing time and review time
correctly.

- 'Peek skeleton' (P key) works again.

- The Split Skeleton Dialog updates the embedded 3D view again after all
skeletons are loaded.

- Former partner nodes of deleted connector nodes can now be deleted without an
additional tracing layer update.

- The Skeleton Projection Layer can now use the skeleton source colors and other
colors source again.

- The simple front end data view's project filter works again

- Skeleton source subscriptions: opting in and out of applying color changes in
source skeletons to existing target skeletons works again.

- Dragging nodes in stacks with smaller resolutions (larger nm/px) doesn't
require large drag distances anymore, before the move is registered.

- Node selection works now reliably with orthogonal views, including using the
"G" key.

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.

2017.05.17

Contributors: Andrew Champion, Tom Kazimiers

Notes

- A virtualenv upgrade is required. To correctly install one updated dependency,
the django-rest-swagger Python package has to be removed first from from the
virtualenv, before the virtualenv is updated:

pip uninstall django-rest-swagger
pip install -r requirements.txt


Features and enhancements

Widget state saving:

- Infrastructure has been added to store widget configuration client side in a
browser cookie. This makes it easy to update widgets to support automatic
saving and loading of state information. The automatic saving and loading
behavior can be configured in the General Settings section of the Settings
Widget. To explicitly save the state in a supported widget, the respective
button available through the "Window Configuration" title bar icon can be used
as well.

- State saving support has been added for the 3D Viewer and the Connectivity
Widget.

Generic node filtering:

- A generic user interface for filtering nodes is now available to widgets. If a
widget supports it, the filtering user interface is available through the
filter icon in the widget's title bar.

- The user interface has a "Filters" tab which lists all active filters for a
widget and a "Add filter" tab, which can be used to create new filter rules.

- Filter rules select nodes that are kept, i.e. the filter application results
in a list of nodes that match the filter expression.

- Different filter types are available at the moment: Only end nodes, only
tagged nodes, only nuclei, only a sub-arbor starting from a tag, tag defined
region, created by user(s), node creation/edite time, binary split, axon,
dendrite, synaptic connectivity and volumes. Some come with own user input
elements, but all can optionally be applied to only a subset of skeletons.

- Multiple filters can be combined, e.g. all branch nodes with a particular tag
and end nodes. All filter rules are combined in a left-associative fashion and
union and intersection can be used as operators.

Connectivity widget:

- Support for node filtering has been added, it can be configured through the
filter icon in the title bar. All features listed under Generic Node Filters
are supported. If a node of a skeleton from the top list doesn't match the
filter expression, synaptic connections involving it will not be respected.

Review widget:

- Whether detailed review colors should be used is now persisted.

- The checkbox "Save review updates" allows to disable sending review updates to
the server. Ending review or closing the widget will cause all review updates
to be lost. If disabled, a warning is displayed. This is useful to only use
the "navigational" features of the review widget.

- Support for node filtering has been added, it can be configured through the
filter icon in the title bar. All features listed under Generic Node Filters
are supported. If nodes are filtered, all percentages are relative to the
filtered set of nodes.

3D viewer:

- The color of custom tag spheres can now be adjusted through a "color" button
right next to the custom tag pattern.

- The color of the floor can now be adjusted though a "color" button next after
the "Floor" checkbox.

- Skeleton coloring can now be set to not interpolate between different vertex
colors and instead use always child colors for an edge.

- The color and whether to display mesh faces of individual volumes can now be
adjusted more easily. A color selector is available right next to the checkbox
of each visible volume in the volume drop-down menu. The global color controls
are used as default for newly displayed volumes.

- Support for node filtering has been added, which can be configured through the
filter icon in the title bar. All features listed under Generic Node Filters
are supported.

Tracing layer:

- When inserting a new node between two existing nodes, the new node's user
will now be the logged in user as long as the skeleton is not locked. This
makes it easier for reviewers to make corrections, because the new node can
now be moved (instead of only initially placed). If the neuron is locked, it
is only possible to create a collinear node between parent and child with the
child's user (e.g. through tagging a virtual node).


Miscellaneous:

- When a node is selected a minimal node status line is now shown again using
information already available in the client. If the "Show extended status bar
information" setting is the Settings Widget is checked, additional information
is fetched from the back-end.

- The SWC export by default now maps real node IDs to incremental IDs starting
with 1 from the root node, which is something some SWC tools expect. To
disable this uncheck "Linearize IDs" in the SWC export dialog.

- Neuron Navigator: It is now possible to delete multiple neurons from a neuron
listing.

- The importer widget now allows to allow multiple SWC files at the same time.


Bug fixes

- Export widget: The SWC export link works again.

- Tracing tool: using the personal tag set doesn't remove existing tags anymore
when added or removed.

- Fix catmaid_insert_example_projects management command.

- Review widget: it is possible again to use Q/W to move along already reviewed
segments (re-review of nodes).

- Fix some accidental key mapping collisions of some special keys and media
keys.

- Connector nodes can be deleted again right after they were created.

- 3D viewer: connector links are displayed again if connector restrictions are
in use.

- Radius creation works now in orthogonal views as expected.

2017.04.20

Contributors: Albert Cardona, Tom Kazimiers

Notes

- A virtualenv update is required.

- The location of the `manage.py` script changed: it moved a level up into
`django/projects`. All other configuration files remain where they are. Make
sure to update your `settings.py` file by replacing the line
`from settings_base import *` with `from mysite.settings_base import *`.

- Python 3.5 is now experimentally supported. Most functionality should work
without problems. To test, make sure to update `settings.py` by replacing
the fragment `hashlib.md5(CATMAID_URL)` with
'hashlib.md5(CATMAID_URL.encode('utf-8'))'.

- To use the skeleton import API users or groups now need to have the can_import
permission.


Features and enhancements

3D viewer:

- Nodes on specific section of the focused stack can now be automatically moved
to an interpolated location. The "Skeleton filters" tab provides now options
to either interpolate nodes on broken sections or a custom list of sections.
The new location in the average X/Y location of the parent and child. If only
parent or child is available (leaf or parent), its X/Y location is used.

- An started animation export can now be canceled through a "Cancel" button.

Review widget:

- Segments can now be reviewed in downstream order by unchecking the "Upstream
review" checkbox. Q will still move downstream and W upstream. Already
reviewed nodes are skipped in both directions.

- Only show "Done" message if 100% are reviewed in one of the selected columns,
including Team. Team is now checked by default.

Import Export widget:

- The Export Widget has been renamed to "Import Export Widget", along with it
its short-name for Ctrl+Space.

- If a user has import permissions on a project, an "Import" and an "Export" tab
are displayed. The new import tab contains a simple SWC import, which allows
to select an SWC file and import it. If successful, the new skeleton is
selected right away.

Neuron Navigator:

- Instead of a "Last used" column annotation tables now show an "Annotated on"
column. The last used date used before reflected the last change of an
annotation itself. Now the creation time of the link relation is displayed,
which doesn't change during a merge or split operation, unlike "edition time".

Splitting and merging:

- In the split and merge dialog, instead of selecting the skeleton/part with
more nodes as default "winning" skeleton, the skeleton with a greater cable
length is now chosen as default "winning" skeleton.

- Keep original creation time and edition time of annotation links that are
copied to the newly created part on a split skeleton.

- When skeletons are merged and share annotations that should be kept, the
older annotation link creation time will now be stored in the final neuron
annotation link.

Miscellaneous:

- Refreshing the nodes on the StackViewer will not print the info on the active
node in the status bar. This saves one additional request to the server,
speeding up tracing from high-latency locations such as overseas.

- The Measurement Table now highlights the active skeleton.

- Alt+T can now be used to tag a node with a predefined set of tags. This set
can be configured through the Settings Widget, using the "Personal tag set"
field in the Tracing section.

- The SWC export button in the Tracing Tool toolbar has been replaced with an
Export Widget entry. Additionally, SWC files for multiple skeletons can be
created at the same time and exported together in a Zip archive.

- Many widgets can now have aliases, which will be displayed in parentheses
after the name in the window title bar. A small window-like icon next to the
window name toggles controls to change the widget alias.

- Review status colors can now be more fine-grained. The Settings Widget
contains now the option "Use detail review color status" as part of the
Tracing section. If enabled, ten different colors plus the regular 0% and 100%
color will be used instead of three.

- Generating the URL to a view now respects loaded stack groups. If a stack
group was initially loaded, it is included in the URL.

- It is now possible to control the number of sections moved when Shift is
pressed while using ",", "." or the mouse wheel. This step size is controlled
through the "Major section step" setting in the "Stack view" section of the
settings widget. Alternatively, for a dialog to set a new step size, the key
combination Shift + can be used.

- The Connector Table now also displays the link creation time besides the
edition time.

- Tracing layer: Moving to a child node using "]" doesn't query the server
anymore if child info is already available in client.


Bug fixes

- 3D Viewer: active node sphere is now hidden if no node is selected.

- Image data layers that are added to a stack viewer will be added after the
last existing image data layer and before other layers. This makes sure
tracing data stays on top.

- Selecting an unreachable mirror won't hide the tracing layer anymore.

Page 2 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.