Download OpenAPI specification:Download
username required | string Valid username for authentication |
password required | string Valid password for authentication |
List nodes that are located in a broken section.
Broken secrions of all stacks linked to the current project are tested if they contain any nodes. Stack orientatins are respected. Optionally, only particular skeletons can be checked.
project_id required | string |
skeleton_ids | string List of skeleton IDs to constrain tests on |
List annotations matching filtering criteria that are currently in use.
The result set is the intersection of annotations matching criteria (the criteria are conjunctive) unless stated otherwise.
project_id required | string |
annotations | string A list of (meta) annotations with which which resulting annotations should be annotated with. |
annotates | string A list of entity IDs (like annotations and neurons) that should be annotated by the result set. |
parallel_annotations | string A list of annotation that have to be used alongside the result set. |
user_id | string Result annotations have to be used by this user. |
neuron_id | string Result annotations will annotate this neuron. |
skeleton_id | string Result annotations will annotate the neuron modeled by this skeleton. |
ignored_annotations | string A list of annotation names that will be excluded from the result set. |
if_modified_since | string Works only if |
List annotations matching filtering criteria that are currently in use.
The result set is the intersection of annotations matching criteria (the criteria are conjunctive) unless stated otherwise.
project_id required | string |
annotations | string A list of (meta) annotations with which which resulting annotations should be annotated with. |
annotates | string A list of entity IDs (like annotations and neurons) that should be annotated by the result set. |
parallel_annotations | string A list of annotation that have to be used alongside the result set. |
user_id | string Result annotations have to be used by this user. |
neuron_id | string Result annotations will annotate this neuron. |
skeleton_id | string Result annotations will annotate the neuron modeled by this skeleton. |
ignored_annotations | string A list of annotation names that will be excluded from the result set. |
if_modified_since | string Works only if |
Add missing neuron name annotations.
To each passed in neuron, a list of neuron IDs and/or skelton IDs, the neuron name stored in the neuron's base name is added as annotation. Each neuron name annotation is meta-annotated with a "Name" annotation.
project_id required | string |
skeleton_ids | string A list of skeleton IDs to update |
entity_ids | string A list of target entity IDs to update |
Get annotations and who used them for a set of skeletons.
This method focuses only on annotations linked to skeletons and is likely to be faster than the general query. Returns an object with two fields: "annotations", which is itself an object with annotation IDs as fields, giving access to the corresponding annotation names. And the field "skeletons" is also an object, mapping skeleton IDs to lists of annotation-annotator ID pairs. Also, as JSON separator a colon is used instead of a comma.
project_id required | string |
skeleton_ids | string A list of skeleton IDs which are annotated by the resulting annotations. |
Query annotations linked to a list of objects.
These objects can for instance be neurons, annotations or stack groups. From a database perspective, these objects are class instances.
Returned is an object with the fields "entities" and "annotations". The former is an object mapping an entity ID to a list of annotations. Each annotation is represented by an object containing its "id" and "uid", the user who annotated it. The latter maps annotation IDs to annotation names. For instance::
{ "entities": { "42": [{id: 1, uid: 12}, {id: 3, uid: 14}] }, "annotations": { 12: "example1", 14: "example2" } }
project_id required | string |
object_ids | string A list of object IDs for which annotations should be returned. |
Query entities based on various constraints
Entities are objects that can be referenced within CATMAID's semantic space, e.g. neurons, annotations or stack groups. This API allows to query them, mainly by annotations that have been used with them. Multiple annotation parameters can be used to combine different annotation sets with AND. Elements of one annotation parameter are combined with OR.
project_id required | string |
annotation_date_start | string The earliest YYYY-MM-DD date result elements have been annotated at. |
annotation_date_end | string The latest YYYY-MM-DD date result elements have been annotated at. |
name | string The name (or a part of it) of result elements. |
annotated_by | string A result element was annotated by a user with this ID. |
annotated_with | string A comma separated list of annotation IDs which all annotate the result elements. |
not_annotated_with | string A comma separated list of annotation IDs which don't annotate the result elements. |
sub_annotated_with | string A comma separated list of annotation IDs that are contained in either 'annotated_with' or 'not_annotated_with' that get expanded to also include their sub-annotations in the query (of which then at least one has to match inclusion or exclusion respectively). |
with_annotations | string Indicate if annotations of result elements should be returned. |
types | string Allowed result types. Multple types can be passed with multiple parameters. Defaults to 'neuron' and 'annotation'. |
sort_by | string Indicates how results are sorted. |
sort_dir | string Indicates sorting direction. |
range_start | string The first result element index. |
range_length | string The number of results |
annotation_reference | string Whether annoation references are IDs or names, can be 'id' or 'name. |
Get a collection of connectors.
The connectors
field of the returned object contains a list of all result
nodes, each represented as a list of the form:
[id, x, y, z, confidence, creator_id, editor_id, creation_time, edition_time]
Both edition time and creation time are returned as UTC epoch values. If
tags are requested, the tags
field of the response object will contain a
mapping of connector IDs versus tag lists. If partners are requested, the
partners
field of the response object will contain a mapping of connector
IDs versus lists of partner links. Each partner link is an array of the
following format:
[link_id, treenode_id, skeleton_id, relation_id, confidence]
If both skeleton_ids
and relation_type
are used, the linked skeletons
need to be linked by the specified relation. Without relation_type
,
linked skeletons can have any relation and without skeleton_ids
a
connector needs to have a least one link with the specified relation.
project_id required | string Project of connectors |
skeleton_ids | string Skeletons linked to connectors |
tags | string Require a set of tags |
relation_type | string Relation of linked skeletons to connector. |
with_tags | string If connector tags should be fetched |
with_partners | string If partner node and link information should be fetched |
Get a list of all connector nodes that intersect with the passed in bounding box.
project_id required | string |
limit | string Limit the number of returned nodes. |
minx required | string Minimum world space X coordinate |
miny required | string Minimum world space Y coordinate |
minz required | string Minimum world space Z coordinate |
maxx required | string Maximum world space X coordinate |
maxy required | string Maximum world space Y coordinate |
maxz required | string Maximum world space Z coordinate |
with_locations required | string Whether to return the location of each connector. |
with_links required | string Whether to return every individual link |
skeleton_ids | string Skeletons linked to connectors |
Get a list of all connector nodes that intersect with the passed in bounding box.
project_id required | string |
limit | string Limit the number of returned nodes. |
minx required | string Minimum world space X coordinate |
miny required | string Minimum world space Y coordinate |
minz required | string Minimum world space Z coordinate |
maxx required | string Maximum world space X coordinate |
maxy required | string Maximum world space Y coordinate |
maxz required | string Maximum world space Z coordinate |
with_locations required | string Whether to return the location of each connector. |
with_links required | string Whether to return every individual link |
skeleton_ids | string Skeletons linked to connectors |
Get connectors linked to a set of skeletons.
The result data set includes information about linked connectors on a given input set of skeletons. These links are further constrained by relation type, with currently support available for: postsynaptic_to, presynaptic_to, abutting, gapjunction_with, tightjunction_with, desmosome_with.
Returned is an object containing an array of links to connectors and a set of tags for all connectors found (if not disabled). The link array contains one array per connector link with the following content: [Linked skeleton ID, Connector ID, Connector X, Connector Y, Connector Z, Link confidence, Link creator ID, Linked treenode ID, Link edit time].
A POST handler is able to accept large lists of skeleton IDs.
project_id required | string |
skeleton_ids required | string Skeletons to list connectors for |
relation_type required | string Relation of listed connector links |
with_tags | string If connector tags should be fetched |
Get connectors linked to a set of skeletons.
The result data set includes information about linked connectors on a given input set of skeletons. These links are further constrained by relation type, with currently support available for: postsynaptic_to, presynaptic_to, abutting, gapjunction_with, tightjunction_with, desmosome_with.
Returned is an object containing an array of links to connectors and a set of tags for all connectors found (if not disabled). The link array contains one array per connector link with the following content: [Linked skeleton ID, Connector ID, Connector X, Connector Y, Connector Z, Link confidence, Link creator ID, Linked treenode ID, Link edit time].
A POST handler is able to accept large lists of skeleton IDs.
project_id required | string |
skeleton_ids required | string Skeletons to list connectors for |
relation_type required | string Relation of listed connector links |
with_tags | string If connector tags should be fetched |
Get a list of available connector types.
Returns a list of all available connector link types in a project. Each list element consists of an object with the following fields: type, relation, relation_id.
project_id required | string |
Return information on a treenode connector edge.
Returns a JSON array with elements representing information on the matched links. They have the following form:
{ "user": ..., "creaetion_time": ..., "edition_time": ... }
Developer node: This function is called often (every connector mouseover) and should therefore be as fast as possible. Analogous to user_info for treenodes and connectors.
project_id required | string Project of connectors |
treenode_id required | string The treenode, the connector is linked to |
connector_id required | string The connector, the treenode is linked to |
relation_id | string The relation ID of the link, can be used instead of relation_name |
relation_name | string The relation name of the link, can be used instead of relation_id |
Get detailed information on a connector and its partners
project_id required | string |
connector_id required | string |
List all labels (front-end node tags) in use.
project_id required | string Project containing node of interest |
List all labels (front-end node tags) in use alongside their IDs.
project_id required | string Project containing node of interest |
Get usage statistics of node labels.
project_id required | string Project from which to get label stats |
List all labels (front-end node tags) attached to a particular node.
node_id required | string ID of node to list labels for |
project_id required | string Project containing node of interest |
node_type required | string Either 'connector', 'treenode' or 'location' |
project_id required | string |
location_id required | string |
landmarkgroup_id required | string |
project_id required | string |
location_id required | string |
landmarkgroup_id required | string |
project_id required | string |
landmarkgroup_id required | string |
project_id required | string |
landmark_id required | string |
group_id required | string |
project_id required | string |
location_id required | string |
landmark_id required | string |
List neurons matching filtering criteria.
The result set is the intersection of neurons matching criteria (the criteria are conjunctive) unless stated otherwise.
project_id required | string |
created_by | string Filter for user ID of the neurons' creator. |
reviewed_by | string Filter for user ID of the neurons' reviewer. |
from_date | string Filter for neurons with nodes created after this date. |
to_date | string Filter for neurons with nodes created before this date. |
nodecount_gt | string Filter for neurons with more nodes than this threshold. Removes all other criteria. |
Retrieve neuron IDs modeled by particular entities, eg skeletons.
From a list of source entities (class instances), the IDs of all modeled neurons are returned. There are currently only skeletons that model neurons.
project_id required | string |
model_ids[] required | string IDs of models to find neurons for (e.g. skeleton IDs) |
Rename a neuron.
If a neuron is not locked by a user on which the current user has no permission, the name of neuron can be changed through this endpoint. Neuron names are currently not allowed to contain pipe characters ("|").
project_id required | string |
neuron_id required | string ID of neuron to rename |
name required | string New name of the neuron |
Retrieve all nodes intersecting a bounding box
The intersection bounding box is defined in terms of its minimum and maximum project space coordinates. The number of returned nodes can be limited to constrain query execution time. Optionally, lists of treenodes and connector IDs can be provided to make sure they are included in the result set, regardless of intersection.
Returned is an array with five entries, plus optionally a sixth one
[[treenodes], [connectors], {labels}, node_limit_reached, {relation_map}, {exstraNodes}]
The list of treenodes has elements of this form:
[id, parent_id, location_x, location_y, location_z, confidence, radius, skeleton_id, edition_time, user_id]
The list connectors has elements of this form:
[id, location_x, location_y, location_z, confidence, edition_time, user_id, [partners]]
The partners arrary represents linked partner nodes, each one represented like this:
[treenode_id, relation_id, link_confidence, link_edition_time, link_id]
If labels are returned, they are represented as an object of the following form, with the labels just being simple strings:
{treenode_id: [labels]}
The fourth top level entry, node_limit_reached, is a boolean that represents if there are more nodes available than the ones returned.
With the last top level element returned the present connector linked relations are mapped to their textural representations:
{relation_id: relation_name}
project_id required | string |
treenode_ids | string Whether linked connectors should be returned. |
connector_ids | string Whether tags should be returned. |
limit | string Limit the number of returned nodes. |
left required | string Minimum world space X coordinate |
top required | string Minimum world space Y coordinate |
z1 required | string Minimum world space Z coordinate |
right required | string Maximum world space X coordinate |
bottom required | string Maximum world space Y coordinate |
z2 required | string Maximum world space Z coordinate |
format | string Either "json" (default) or "msgpack", optional. |
with_relation_map | string Whether an ID to name mapping for the used relations should be included and which extent it should have. |
n_largest_skeletons_limit | string Maximum number of the largest skeletons in view |
n_last_edited_skeletons_limit | string Maximum number of most recently edited skeletons. |
hidden_last_editor_id | string No nodes edited last by this user will be retuned. |
min_skeleton_length | string Optional minimum skeleton length, no returned node is of a shorter skeleton. |
List nodes with labels matching a query, ordered by distance.
Find nodes with labels (front-end node tags) matching a regular expression, sort them by ascending distance from a reference location, and return the result. Returns at most 50 nodes.
project_id required | string |
x required | string X coordinate of the distance reference in project space. |
y required | string Y coordinate of the distance reference in project space. |
z required | string Z coordinate of the distance reference in project space. |
label_regex required | string Regular expression query to match labels |
Get locations for a particular set of nodes in a project.
A list of lists is returned. Each inner list represents one location and hast the following format: [id, x, y, z].
project_id required | string |
node_ids required | string A list of node IDs to get the location for |
Retrieve the last edited node.
Without any further parameters, this will retrieve the node last edited on any skeleton by any user. This can be further constrained by skeleton and user.
project_id required | string The project to operate in. |
skeleton_id | string (optional) Skeleton for which to retrieve last edited node. |
user_id | string (optional) User of which to retrieve last edited node. |
Find the closest node in a skeleton relative to a passed in location.
If a skeleton ID or neuron id is passed in as well, the nearest node in the respective skeleton is returned.
project_id required | string The project to operate in. |
x required | string X coordinate of query location. |
y required | string X coordinate of query location. |
z required | string Z coordinate of query location. |
skeleton_id | string Result treenode has to be in this skeleton. |
neuron_id | string Alternative to skeleton_id. Result treenode has to be in this neuron |
project_id required | string |
pointcloud_id required | string |
image_id required | string |
Get a collection of available samplers.
Optionally, the "skeleton_ids" parameter can provide a list of skeleton IDs. If this is the case, only samplers for the respective skeletons are returned.
project_id required | string |
skeleton_ids | string Optional skeleton IDs to constrain result set to. |
with_domains | string Optional flag to include all domains of all result sampler results. |
with_intervals | string Optional flag to include all intervals of all domains. Implies with_domains. |
Create a new sampler for a skeleton.
project_id required | string |
skeleton_id required | string Skeleton this sampelr is for |
interval_length required | string Length of a intervals with domains (nm). |
interval_error | string Maximum allowed error for a single interval. |
review_required required | string Whether reviews should be enforced in this sampler |
create_interval_boundaries required | string Whether new nodes for interval boundaries should be created. |
leaf_segment_handling | string How leaf segments should be handled, can be 'ignore', 'merge' or 'short-interval'. |
merge_limit | string A leaf handling option for merge-or-create mode. A value between 0 and 1 representing the interval length ratio up to which a merge is allowed. |
Get a list of connectors that already have a state associated with them.
If a connector is not part of this list it is implicetely assumed to be in an "untouched" state.
project_id required | string |
interval_id | string The interval all results should be part of |
connector_id | string The connector to get sampler information for |
state_id | string The state all result sets have to have. |
Get a list of all available connectors states and their IDs.
project_id required | string |
Set state of sampler connector
project_id required | string |
connector_id required | string Connector to set state of |
interval_id required | string Interval the connector is part of |
state_id required | string The new state |
Get details on a particular interval.
project_id required | string |
interval_id required | string |
Set state of an interval.
project_id required | string |
interval_id required | string Interval to update state of |
Get details on a particular domain.
domain_id required | string |
project_id required | string |
Get a collection of available sampler domains intervals.
project_id required | string |
domain_id required | string Domain to list intervals for |
Create all intervals in a particular domain.
domain_id required | string |
project_id required | string |
Delete a sampler if permissions allow it.
If the sampler was created with allowing the creation of new boundary nodes,
these nodes are removed by default if they have not been modified since
their insertion. This can optionally be disabled using the
project_id required | string |
sampler_id required | string |
delete_created_nodes | string Optional flag to disable automatic removal of untouched nodes created for this sampler's intervals. |
Get a collection of available sampler domains.
project_id required | string |
sampler_id required | string Sampler to list domains for |
Create a new domain for a sampler.
project_id required | string |
sampler_id required | string Sampeler the new domain is part of |
domain_type_id required | string The type of the new domain |
start_node_id required | string Start node of domain |
end_node_ids required | string A list of all end nodes for the new domain |
parent_interval_id | string Optional parent inerval ID. |
Create a new domain for a sampler.
project_id required | string |
sampler_id required | string |
Compare two sets of objects (skeletons or point clouds) and return an NBLAST scoring based on an existing NBLAST configuration.
project_id required | string Project to operate in |
config_id required | string ID of the new NBLAST configuration to use |
query_ids required | string Set of objects (skeletons or point clouds) to query similarity for. |
target_ids required | string Set of objects (skeletons or point clouds) or point clouds to compare against. |
target_type | string Type of target objects, 'skeleton' or 'pointcloud'. |
name | string Name for the similarity lookup task |
normalized | string Whether and how scores should be normalized. |
use_alpha | string Whether to consider local directions in the similarity computation |
reverse | string If enabled, the target is matched against the query. |
query_type_id | string Type of query data |
target_type_id | string Type of query data |
query_meta | string Extra data for the selected query type. A JSON encoded string is expected. |
target_meta | string Extra data for the selected target type. A JSON encoded string is expected. |
remove_target_duplicates | string Remove all target objects that appear also in the query. |
simplify | string Whether or not to simplify neurons and remove parts below a specified branch point level. |
required_branches | string The required branch levels if neurons should be simplified. |
use_cache | string Whether or not to use cached data when computing similarity scores. |
top_n | string How many results should be returned sorted by score. A value of zero dsiables this cutoff. |
Return a sparse connectivity matrix representation for the given skeleton IDs. The returned dictionary has a key for each row skeleton having outgoing connections to one or more column skeletons. Each entry stores a dictionary that maps the connection partners to the individual outgoing synapse counts.
project_id required | string Project of skeletons |
rows required | string IDs of row skeletons |
columns required | string IDs of column skeletons |
with_locations | string Whether or not to return locations of connectors |
List skeletons matching filtering criteria.
The result set is the intersection of skeletons matching criteria (the criteria are conjunctive) unless stated otherwise.
project_id required | string |
created_by | string Filter for user ID of the skeletons' creator. |
reviewed_by | string Filter for user ID of the skeletons' reviewer. |
from_date | string Filter for skeletons with nodes created after this date. |
to_date | string Filter for skeletons with nodes created before this date. |
nodecount_gt | string Filter for skeletons with more nodes than this threshold. Removes all other criteria. |
Get the cable length of a set of skeletons.
Returns a mapping from skeleton ID to cable length.
project_id required | string Project to operate in |
skeleton_ids[] required | string IDs of the skeletons to query cable-length for |
Get the cable length of a set of skeletons.
Returns a mapping from skeleton ID to cable length.
project_id required | string Project to operate in |
skeleton_ids[] required | string IDs of the skeletons to query cable-length for |
Return the history of all skeletons ID changes in project over time. Optionally, this can be constrained by a user ID and a time window.
project_id required | string Project to operate in |
initial_user_id | string User who caused the first change in all returned skeleton. |
changes_after | string Date of format YYYY-MM-DDTHH:mm:ss, only the date part is required. Limits returns history to skeleton changes after this date. |
changes_before | string Date of format YYYY-MM-DDTHH:mm:ss, only the date part is required. Limits returns history to skeleton changes before this date. |
skeleton_ids | string Skeleton IDs of the initial set of treenodes. |
Get a compact treenode representation of a list of skeletons, optionally with the history of individual nodes and connectors.
Returns, in JSON, [[nodes], [connectors], {nodeID: [tags]}], with connectors and tags being empty when 0 == with_connectors and 0 == with_tags, respectively.
Each element in the [nodes] array has the following form:
[skeleton_id, id, parent_id, user_id, location_x, location_y, location_z, radius, confidence].
Each element in the [connectors] array has the following form, with the third element representing the connector link as 0 = presynaptic, 1 = postsynaptic, 2 = gap junction, -1 = other:
[treenode_id, connector_id, 0|1|2|-1, location_x, location_y, location_z]
If history data is requested, each row contains a validity interval. Note that for the live table entry (the currently valid version), there are special semantics for this interval: The upper bound is older than or the same as the lower bound. This is done to encode the information of this row being the most recent version and including the original creation time at the same time, plus it requires less queries on the back-end to retireve data. This requires the client to do slightly more work, but unfortunately the original creation time is needed for data that was created without history tables enabled.
project_id required | string |
string | |
with_connectors | string Whether linked connectors should be returned. |
with_tags | string Whether tags should be returned. |
with_history | string Whether history information should be returned for each treenode and connector. |
with_merge_history | string Whether the history of arbors merged into the requested skeleton should be returned. Only used if history is returned. |
with_reviews | string Whether a node index should be returned that maps node IDs to the list of reviews done on them, respects history parameter. |
with_annotations | string Whether the list of linked annotations should be returned. If history should be returned, returns all link versions. |
with_user_info | string Whether all result elements should contain also the creator ID. |
Get a synaptic graph between skeletons compartmentalized by confidence.
Given a set of skeletons, retrieve presynaptic-to-postsynaptic edges between them, annotated with count. If a confidence threshold is supplied, compartmentalize the skeletons at edges in the arbor below that threshold and report connectivity based on these compartments.
When skeletons are split into compartments, nodes in the graph take an
string ID like {skeleton_id}_{compartment #}
.
project_id required | string |
skeleton_ids[] required | string IDs of the skeletons to graph |
confidence_threshold | string Confidence value below which to segregate compartments |
bandwidth | string Bandwidth in nanometers |
cable_spread | string Cable spread in nanometers |
expand[] | string IDs of the skeletons to expand |
link_types[] | string IDs of link types to respect |
Retrieve a list of down/up-stream partners of a set of skeletons.
From a queried set of source skeletons, find all upstream and downstream partners, the number of synapses between each source and each partner, and a list of reviewers for each partner set. Confidence distributions for each synapse count are included. Optionally find only those partners that are common between the source skeleton set.
project_id required | string |
source_skeleton_ids required | string IDs of the skeletons whose partners to find |
boolean_op required | string Whether to find partners of any source skeleton ("OR") or partners common to all source skeletons ("AND") |
with_nodes | string Whether to return detailed connectivity information that includes partner sites. |
link_types | string A list of allowed link types: incoming, outgoing, abutting, gapjunction, tightjunction, desmosome, attachment, close_object. |
Get the number of synapses per type for r a set of skeletons.
Returns an object with to fields. The first, connectivity
, is a mapping
from skeleton ID to objects that map a relation ID to connectivity count for
that particular relation. The second field of the returned object,
relations
, maps relation IDs used in the first field to relation names.
project_id required | string Project of work in |
count_partner_links required | string Whether to count partner links or links to a connector. |
source_relations[] | string A list of pre-connector relations that have to be used |
target_relations[] | string A list of post-connector relations that have to be used |
skeleton_ids[] required | string IDs of the skeletons whose partners to count |
Get the number of synapses per type for r a set of skeletons.
Returns an object with to fields. The first, connectivity
, is a mapping
from skeleton ID to objects that map a relation ID to connectivity count for
that particular relation. The second field of the returned object,
relations
, maps relation IDs used in the first field to relation names.
project_id required | string Project of work in |
count_partner_links required | string Whether to count partner links or links to a connector. |
source_relations[] | string A list of pre-connector relations that have to be used |
target_relations[] | string A list of post-connector relations that have to be used |
skeleton_ids[] required | string IDs of the skeletons whose partners to count |
Return a CSV file that represents the connectivity matrix of a set of row skeletons and a set of column skeletons.
project_id required | string Project of skeletons |
rows required | string IDs of row skeletons |
columns required | string IDs of column skeletons |
names | string An optional mapping of skeleton IDs versus names.
Represented as a list of two-element lists. Each inner list
follows the form [ |
Import a neuron modeled by a skeleton from an uploaded file.
Currently only SWC representation is supported.
project_id required | string |
neuron_id | string If specified a request for a particular neuron ID is expressed. If force = true, this request is enforced and the existing neuron ID (and all its skeletons) is replaced (as long as they are in the target project). If force = false (default), the neuron ID is only used if available and a new one is generated otherwise. |
skeleton_id | string If specified a request for a particular skeleton ID is expressed. If force = true, this request is enforced and the existing skeleton ID (and all its neurons) is replaced (as long as they are in the target project). If force = false (default), the skeleton ID is only used if available and a new one is generated otherwise. |
force | string If neuron_id or skeleton_id are passed in, existing neuron/skeleton instances in this project are replaced. All their respectively linked skeletons and neurons will be removed. |
auto_id | string If a passed in neuron ID or skeleton ID is already in use, a new ID will be selected automatically (default). If auto_id is set to false, an error is raised in this situation. |
name | string If specified, the name of a new neuron will be set to this. |
Get a list of all skeletons that intersect with the passed in bounding box. Optionally, only a subsed of passed in skeletons can be tested against.
project_id required | string |
limit | string Limit the number of returned nodes. |
minx required | string Minimum world space X coordinate |
miny required | string Minimum world space Y coordinate |
minz required | string Minimum world space Z coordinate |
maxx required | string Maximum world space X coordinate |
maxy required | string Maximum world space Y coordinate |
maxz required | string Maximum world space Z coordinate |
min_nodes | string A minimum number of nodes per result skeleton |
min_cable | string A minimum number of cable length per result skeleton |
volume_id | string Alternative to manual bounding box definition. The bounding box of the volume is used. |
skeleton_ids | string An optional list of skeleton IDs that should only be tested againt. If used, the result will only contain skeletons of this set. |
Get a list of all skeletons that intersect with the passed in bounding box. Optionally, only a subsed of passed in skeletons can be tested against.
project_id required | string |
limit | string Limit the number of returned nodes. |
minx required | string Minimum world space X coordinate |
miny required | string Minimum world space Y coordinate |
minz required | string Minimum world space Z coordinate |
maxx required | string Maximum world space X coordinate |
maxy required | string Maximum world space Y coordinate |
maxz required | string Maximum world space Z coordinate |
min_nodes | string A minimum number of nodes per result skeleton |
min_cable | string A minimum number of cable length per result skeleton |
volume_id | string Alternative to manual bounding box definition. The bounding box of the volume is used. |
skeleton_ids | string An optional list of skeleton IDs that should only be tested againt. If used, the result will only contain skeletons of this set. |
Return relationship between label IDs and skeleton IDs
project_id required | string |
label_ids[] required | string IDs of the labels to find skeletons associated with |
label_names[] required | string Alternative to |
Return relationship between label IDs and skeleton IDs
project_id required | string |
label_ids[] required | string IDs of the labels to find skeletons associated with |
label_names[] required | string Alternative to |
Retrieve the review status for a collection of skeletons.
The review status for each skeleton in the request is a tuple of total nodes and number of reviewed nodes (integers). The reviews of only certain users or a reviewer team may be counted instead of all reviews.
project_id required | string |
skeleton_ids[] required | string IDs of the skeletons to retrieve. |
whitelist | string ID of the user whose reviewer team to use to filter reviews (exclusive to user_ids) |
user_ids[] | string IDs of the users whose reviews should be counted (exclusive to whitelist) |
Get the number of samplers associated with each skeleton in the passed in last.
project_id required | string Project of skeleton |
skeleton_ids required | string IDs of the skeleton to get the sampler count for. |
Find skeletons within a given L-infinity distance of a treenode.
Returns at most 100 results.
project_id required | string |
treenode_id required | string ID of the origin treenode to search around |
distance | string L-infinity distance in nanometers within which to search |
size_mode | string Whether to return skeletons with only one node in the search area (1) or more than one node in the search area (0). |
Get the cable length for a skeleton
skeleton_id required | string IDs of the skeleton to get the cable length for |
project_id required | string Project of landmark |
Get a compact treenode representation of a skeleton, optionally with the history of individual nodes and connectors.
Returns, in JSON, [[nodes], [connectors], {nodeID: [tags]}], with connectors and tags being empty when 0 == with_connectors and 0 == with_tags, respectively.
Each element in the [nodes] array has the following form:
[id, parent_id, user_id, location_x, location_y, location_z, radius, confidence].
Each element in the [connectors] array has the following form, with the third element representing the connector link as 0 = presynaptic, 1 = postsynaptic, 2 = gap junction, -1 = other:
[treenode_id, connector_id, 0|1|2|-1, location_x, location_y, location_z]
If history data is requested, each row contains a validity interval. Note that for the live table entry (the currently valid version), there are special semantics for this interval: The upper bound is older than or the same as the lower bound. This is done to encode the information of this row being the most recent version and including the original creation time at the same time, plus it requires less queries on the back-end to retireve data. This requires the client to do slightly more work, but unfortunately the original creation time is needed for data that was created without history tables enabled.
skeleton_id required | string |
project_id required | string |
with_connectors | string Whether linked connectors should be returned. |
with_tags | string Whether tags should be returned. |
with_history | string Whether history information should be returned for each treenode and connector. |
with_merge_history | string Whether the history of arbors merged into the requested skeleton should be returned. Only used if history is returned. |
with_reviews | string Whether a node index should be returned that maps node IDs to the list of reviews done on them, respects history parameter. |
with_annotations | string Whether the list of linked annotations should be returned. If history should be returned, returns all link versions. |
with_user_info | string Whether all result elements should contain also the creator ID. |
ordered | string Whether result skeletons should be ordered by ID. |
List nodes in a skeleton with labels matching a query.
Find all nodes in this skeleton with labels (front-end node tags) matching a regular expression, sort them by ascending path distance from a treenode in the skeleton, and return the result.
skeleton_id required | string |
project_id required | string |
treenode_id required | string ID of the origin treenode for path length distances |
label_regex required | string Regular expression query to match labels |
Export a morphology-only skeleton in neuroglancer's binary format.
skeleton_id required | string |
project_id required | string |
Get information on a skeleton's treenodes, reviews and labels.
skeleton_id required | string The skeleton to get information on |
project_id required | string The project to operate in |
List open leaf nodes in a skeleton.
Return a list of the ID and location of open leaf nodes in a skeleton, their path length distance to the specified treenode, and their creation time.
Leaves are considered open if they are not tagged with a tag matching a particular regex.
.. note:: This endpoint is used interactively by the client so performance is critical.
skeleton_id required | string |
project_id required | string |
treenode_id required | string ID of the origin treenode for path length distances |
Export skeleton as a set of segments with per-node review information.
Export the skeleton as a list of segments of non-branching node paths, with detailed information on reviewers and review times for each node.
skeleton_id required | string |
project_id required | string |
subarbor_node_id | string If provided, only the subarbor starting at this treenode is returned. |
Retrieve ID and location of the skeleton's root treenode.
skeleton_id required | string |
project_id required | string |
Get the number of samplers associated with this skeleton.
skeleton_id required | string ID of the skeleton to get the sampler count for. |
project_id required | string Project of skeleton |
Get the largest skeletons based on cable length.
project_id required | string |
n_skeletoons | string How many skeletons should be returned |
Get the total number of created nodes per user.
project_id required | string |
with_imports | string Whether data added through imports should be respected. |
Get per user contribution statistics
A date range can be provided to limit the scope of the returned statiscis. By default, the statistics for the last ten days is returned. The returned data includes created cable length, the number of created synaptic connections and the number of reviews made, per day and user.
project_id required | string |
start_date | string If provided (YYYY-MM-DD), only statistics from this day on are returned (inclusive). |
end_date | string If provided (YYYY-MM-DD), only statistics to this day on are returned (inclusive). |
time_zone | string Optional time zone for the date range, e.g. "US/Eastern" |
Get a collection of all available transactions in the passed in project.
project_id required | string |
range_start | string The first result element index. |
range_length | string The maximum number result elements. |
Try to associate a location in the passed in project for a particular transaction.
project_id required | string |
transaction_id required | string Transaction ID in question |
execution_time required | string Execution time of the transaction |
label | string Optional label of the transaction to avoid extra lookup |
Retrieve node information in a compact form. A list of elements of the following form is returned:
[ID, parent ID, x, y, z, confidence, radius, skeleton_id, edition_time, user_id]
The returned edition time is an epoch number.
project_id required | string Project to work in |
treenode_ids | string A list of treeonde IDs to return information on |
label_ids | string A list of label IDs that must be linked to result treenodes. Alternative to explicit treenode IDs and label names. |
label_names | string A list of label names that must be linked to result treenodes. Alternative to explicit treenode IDs and label IDs |
skeleton_ids | string A list of skeleton IDs that result skeletons have to be part of. |
Retrieve node information in a compact form. A list of the following form is returned:
[ID, parent ID, x, y, z, confidence, radius, skeleton_id, edition_time, user_id]
The returned edition time is an epoch number.
treenode_id required | string |
project_id required | string |
Update confidence of edge between a node to either its parent or its connectors.
The connection between a node and its parent or the connectors it is linked to can be rated with a confidence value in the range 1-5. If connector links should be updated, one can limit the affected connections to a specific connector. Returned is an object, mapping updated partners to their old confidences.
treenode_id required | string |
project_id required | string |
new_confidence required | string New confidence, value in range 1-5 |
to_connector | string Whether all linked connectors instead of parent should be updated |
partner_ids | string Limit update to a set of connectors if to_connector is true |
partner_confidences | string Set different confidences to connectors in |
Retrieve skeleton and neuron information about this treenode.
treenode_id required | string |
project_id required | string |
treenode_id required | string |
project_id required | string |
suppressed_id required | string |
Get a collection of all available volumes.
project_id required | string Project to operate in |
volume_ids | string Only return specified volumes |
Get a collection of all available volumes.
project_id required | string Project to operate in |
volume_ids | string Only return specified volumes |
Create a new volume
The ID of the newly created volume is returned. Currently, box volumes and triangle meshes are supported. Which one is created depends on the "type" parameter, which can be either set to "box" or to "trimesh".
If a triangle mesh should be created, the "mesh" parameter is expected to hold the complete volume. It is expected to be a string that encodes two lists in JSON format: [[points], [triangles]]. The list of points contains lists of three numbers, each one representing a vertex in the mesh. The array of triangles also contains three element lists as items. Each one represents a triangle based on the points in the other array, that are referenced by the triangle index values.
project_id required | string |
type required | string Type of volume to create |
title required | string Title of volume |
comment | string An optional comment |
mesh | string Triangle mesh |
minx | string Minimum x coordinate of box |
miny | string Minimum y coordinate of box |
minz | string Minimum z coordinate of box |
maxx | string Maximum x coordinate of box |
maxy | string Maximum y coordinate of box |
maxz | string Maximum z coordinate of box |
Retrieve a mapping of volume IDs to entity (class instance) IDs.
project_id required | string |
volume_ids | string A list of volume IDs to map |
Import triangle mesh volumes from an uploaded files.
Currently only STL representation is supported.
project_id required | string |
Triangle mesh file to import. Multiple files can be provided, with each being imported as a mesh named by its base filename.
Test environment only contains two skeletons - based on that, sql query always returns list of all SKIDs but all data (about both skeletons) is contained in the first SKID in the list - if this changes, write an else statement for: len(cleanResults) >1.
project_id required | string The project to operate in |
skeleton_ids | string Constrain results to these skeletons |
annotation | string An annotation potential target volumes need to have |
min_nodes | string A minimum number of nodes result skeleton need to have. |
min_cable | string A minimum number of cable length esult skeleton need to have. |
Test environment only contains two skeletons - based on that, sql query always returns list of all SKIDs but all data (about both skeletons) is contained in the first SKID in the list - if this changes, write an else statement for: len(cleanResults) >1.
project_id required | string The project to operate in |
skeleton_ids | string Constrain results to these skeletons |
annotation | string An annotation potential target volumes need to have |
min_nodes | string A minimum number of nodes result skeleton need to have. |
min_cable | string A minimum number of cable length esult skeleton need to have. |
Export volume as a triangle mesh file.
The extension of the endpoint and ACCEPT
header media type are both used
to determine the format of the export.
Supported formats by extension and media type:
model/stl
, model/x.stl-ascii
: ASCII STLproject_id required | string |
extension required | string |
volume_id required | string |
Test if a point intersects with the bounding box of a given volume.
project_id required | string |
volume_id required | string |
x | string X coordinate of point to test |
y | string Y coordinate of point to test |
z | string Z coordinate of point to test |