get_cave_table_info - jaybgager/tracertools GitHub Wiki

This function gets the metadata for a specific CAVE table as a dictionary. You can find a list of all the tables associated with a particular datastack using the get_cave_stack_tables function.

Arguments:

  • datastack (string, mandatory)
    • the name of the CAVE datastack the table belongs to
  • table_name (string, mandatory)
    • the name of the table you want information for

Returns:

  • table_data (dictionary)
    • all the metadata for the specified table

Example

The code below gets the metadata for the cell_info table of the brain_and_nerve_cord datastack.

INPUT:

import tracertools as tt

table_info = tt.get_cave_table_info(
    datastack = "brain_and_nerve_cord",
    table_name = "cell_info",
)

print(table_info)

OUTPUT:

{
    'aligned_volume': 'brain_and_nerve_cord',
    'created': '2023-10-30T00:00:01.188701',
    'description': 'A general-purpose cell type / cell information table. Included are cell types (e.g. broad types like motor neuron, central neuron, sensory neuron, & glia, plus more specific subtypes of each of those), anatomical descriptions (e.g. ascending, descending, soma in brain, soma in VNC), and specific neuron identities (e.g. giant fiber, DNa01), and more – see https://banc.community/Annotations-(cell-types,-etc.) for a list of all annotations that can be found here. \n\nEach row of this table is a key-value pair, with the "tag2" column being the key (or parent node in the annotation tree) and the "tag" column being the actual annotation (or child node in the annotation tree). Example key-value pairs are "soma region"-"soma in VNC", "primary class"-"glia", "primary class"-"sensory neuron", "sensory neuron"-"chordotonal neuron", "chordotonal neuron"-"claw chordotonal neuron", etc. As you can see from the last 3 examples, a term can be a value in one row but then a key in another row to indicate a subclass (chordotonal neurons are a subtype of sensory neurons, claw chordotonal neurons are a subtype of chordotonal neurons). As such, each row can be thought of as an edge in the annotation tree, specifying one step of the path from a root node (broad annotation type) toward a leaf node (as-specific-as-possible annotation).',
    'flat_segmentation_source': None,
    'id': 18588,
    'last_modified': '2026-09-30T12:41:49.377390',
    'last_updated': '2026-09-30T07:02:29.112636',
    'notice_text': None,
    'pcg_table_name': 'wclee_fly_cns_001',
    'read_permission': 'PUBLIC',
    'reference_table': None,
    'schema': 'bound_double_tag_user',
    'schema_type': 'bound_double_tag_user',
    'segmentation_source': None,
    'table_name': 'cell_info',
    'user_id': '4741',
    'valid': True,
    'voxel_resolution': [4.0, 4.0, 45.0],
    'write_permission': 'PRIVATE'
}