{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Reference Space\n",
"\n",
"This notebook contains example code demonstrating the use of the StructureTree and ReferenceSpace classes. These classes provide methods for interacting with the 3d spaces to which Allen Institute data and atlases are registered.\n",
"\n",
"Unlike the AllenSDK cache classes, StructureTree and ReferenceSpace operate entirely in memory. We recommend using json files to store text and nrrd files to store volumetric images.\n",
"\n",
"The MouseConnectivityCache class has methods for downloading, storing, and constructing StructureTrees and ReferenceSpaces. Please see [here](https://alleninstitute.github.io/AllenSDK/_static/examples/nb/mouse_connectivity.html) for examples."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Constructing a StructureTree\n",
"\n",
"A StructureTree object is a wrapper around a structure graph - a list of dictionaries documenting brain structures and their containment relationships. To build a structure tree, you will first need to obtain a structure graph.\n",
"\n",
"For a list of atlases and corresponding structure graph ids, see [here](http://help.brain-map.org/display/api/Atlas+Drawings+and+Ontologies)."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from allensdk.api.queries.ontologies_api import OntologiesApi\n",
"from allensdk.core.structure_tree import StructureTree\n",
"\n",
"oapi = OntologiesApi()\n",
"structure_graph = oapi.get_structures_with_sets([1]) # 1 is the id of the adult mouse structure graph\n",
"\n",
"# This removes some unused fields returned by the query\n",
"structure_graph = StructureTree.clean_structures(structure_graph) \n",
"\n",
"tree = StructureTree(structure_graph)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[{'acronym': u'AUDd',\n",
" 'graph_id': 1,\n",
" 'graph_order': 122,\n",
" 'id': 1011,\n",
" 'name': u'Dorsal auditory area',\n",
" 'rgb_triplet': [1, 147, 153],\n",
" 'structure_id_path': [997, 8, 567, 688, 695, 315, 247, 1011],\n",
" 'structure_set_ids': [112905828, 184527634, 114512891, 12, 167587189]}]"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# now let's take a look at a structure\n",
"tree.get_structures_by_name(['Dorsal auditory area'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The fields are:\n",
" * acronym: a shortened name for the structure\n",
" * rgb_triplet: each structure is assigned a consistent color for visualizations\n",
" * graph_id: the structure graph to which this structure belongs\n",
" * graph_order: each structure is assigned a consistent position in the flattened graph\n",
" * id: a unique integer identifier\n",
" * name: the full name of the structure\n",
" * structure_id_path: traces a path from the root node of the tree to this structure\n",
" * structure_set_ids: the structure belongs to these predefined groups"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Using a StructureTree"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[{'acronym': u'AUD',\n",
" 'graph_id': 1,\n",
" 'graph_order': 121,\n",
" 'id': 247,\n",
" 'name': u'Auditory areas',\n",
" 'rgb_triplet': [1, 147, 153],\n",
" 'structure_id_path': [997, 8, 567, 688, 695, 315, 247],\n",
" 'structure_set_ids': [112905828, 184527634, 3, 12, 114512891]}]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# get a structure's parent\n",
"tree.parents([1011])"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"u'Auditory areas'"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# get a dictionary mapping structure ids to names\n",
"\n",
"name_map = tree.get_name_map()\n",
"name_map[247]"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Primary visual area is not in Auditory areas\n"
]
}
],
"source": [
"# ask whether one structure is contained within another\n",
"\n",
"strida = 385\n",
"stridb = 247\n",
"\n",
"is_desc = '' if tree.structure_descends_from(385, 247) else ' not'\n",
"\n",
"print( '{0} is{1} in {2}'.format(name_map[strida], is_desc, name_map[stridb]) )"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"VISp\n"
]
}
],
"source": [
"# build a custom map that looks up acronyms by ids\n",
"# the syntax here is just a pair of node-wise functions. \n",
"# The first one returns keys while the second one returns values\n",
"\n",
"acronym_map = tree.value_map(lambda x: x['id'], lambda y: y['acronym'])\n",
"print( acronym_map[385] )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Downloading an annotation volume\n",
"\n",
"This code snippet will download and store a nrrd file containing the Allen Common Coordinate Framework annotation. We have requested an annotation with 25-micron isometric spacing. The orientation of this space is:\n",
" * Anterior -> Posterior\n",
" * Superior -> Inferior\n",
" * Left -> Right\n",
"This is the no-frills way to download an annotation volume. See the mouse connectivity examples if you want to properly cache the downloaded data."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2017-10-18 10:31:52,237 allensdk.api.api.retrieve_file_over_http INFO Downloading URL: http://download.alleninstitute.org/informatics-archive/current-release/mouse_ccf/annotation/ccf_2017/annotation_25.nrrd\n"
]
}
],
"source": [
"import os\n",
"import nrrd\n",
"from allensdk.api.queries.mouse_connectivity_api import MouseConnectivityApi\n",
"from allensdk.config.manifest import Manifest\n",
"\n",
"# the annotation download writes a file, so we will need somwhere to put it\n",
"annotation_dir = 'annotation'\n",
"Manifest.safe_mkdir(annotation_dir)\n",
"\n",
"annotation_path = os.path.join(annotation_dir, 'annotation.nrrd')\n",
"\n",
"# this is a string which contains the name of the latest ccf version\n",
"annotation_version = MouseConnectivityApi.CCF_VERSION_DEFAULT\n",
"\n",
"mcapi = MouseConnectivityApi()\n",
"mcapi.download_annotation_volume(annotation_version, 25, annotation_path)\n",
"\n",
"annotation, meta = nrrd.read(annotation_path)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Constructing a ReferenceSpace"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"from allensdk.core.reference_space import ReferenceSpace\n",
"\n",
"# build a reference space from a StructureTree and annotation volume, the third argument is \n",
"# the resolution of the space in microns\n",
"rsp = ReferenceSpace(tree, annotation, [25, 25, 25])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Using a ReferenceSpace"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### making structure masks\n",
"\n",
"The simplest use of a Reference space is to build binary indicator masks for structures or groups of structures."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nNUmq6kKSr22tPbue1QUAGJbT3M33DVV14/zx1yT57iSPJ/m9JHfNn/b2JA/MHz84/3fmP39onSsM\nADAk1dr1e+Cq6ltzOKD8YP7n11trP1lVr0lyf5KbkjyS5Idaa89X1UuTfCTJm5J8OcndrbUnV/xe\nXX8AwN5orR0dypTkFGFqU4QpAGCfHBemzIAOANBBmAIA6CBMAQB0EKYAADoIUwAAHYQpAIAOwhQA\nQAdhCgCggzAFANBBmAIA6CBMAQB0EKYAADoIUwAAHYQpAIAOwhQAQAdhCgCggzAFANBBmAIA6CBM\nAQB0uGGXb37zzTfnG7/xG3e5CmzB008/rZ0nQltPg3aeBu18rYcffvjYn1VrbYursvTGVbt5YwCA\nc2it1arlOwtTAABjYMwUAEAHYQoAoMNOwlRV3VFVn6uqP6uqn9jFOrA+VfXhqrpcVX+ytOymqvpE\nVX2+qn6nqm5c+tnPV9UTVfVoVd22m7XmrKrqYlU9VFWPV9VjVfVj8+XaekSq6qVV9emqemTezvfO\nl7+6qj41b+dfq6ob5stfUlX3z9v5j6rqVbv9H3AWVXVQVQ9X1YPzf2vnc9h6mKqqgyQfTPK9Sf5Z\nkv9QVd+87fVgrX4lh+257D1JPtlae0OSh5K8N0mq6m1JXttae32Sdyb5xW2uKF2+muTHW2vfkuTb\nk7xrvu9q6xFprf1Dkre21t6U5LYkb6uqb0vy00neP2/n55K8Y/6SdyT563k7/1ySn9nBanN+707y\n+NK/tfM57KIydXuSJ1prf9laez7J/Unu3MF6sCattT9M8uyRxXcmuW/++L680MZ3JvnV+es+neTG\nqnrlNtaTPq21Z1prj84ffyXJZ5NcjLYendba388fvjSHU+i0JG9N8pvz5fcl+f754+X2/3iS79rS\natKpqi4m+bdJPrS0+N9EO5/ZLsLULUmeWvr3pfkyxuUVrbXLyeFJOMkr5suPtv8Xo/33TlW9OodV\ni08leaW2Hpd5188jSZ5J8rtJ/jzJc6212fwpy8ftq+3cWruS5Lmq+votrzLn89+T/LcchuVU1cuT\nPKudz24XYWrVHA3mZ5gO7b/nquplObwyffe8QnVc+2nrPdVam827+S7msDfhjaueNv/7aDtXtPPg\nVdW/S3J5Xm1etGHlxe2pnU9hF2HqUpLlgWsXkzy9g/Vgsy4vunSq6uYkX5ovv5Tk1qXnaf89Mh+M\n+vEkH2mtPTBfrK1HqrX2t0l+P8mbk3zdfMxrcm1bXm3nqrqQ5Gtba0e7/RmetyT5vqr6iyS/lsPu\nvZ/LYXe8dj6jXYSpP07yuqr6pqp6SZK7kzy4g/VgvY5e0TyY5J7543uSPLC0/IeTpKrenMOug8vb\nWUXW4JeTPN5a+8DSMm09IlX1DYs7Mqvqa5J8dw4HKP9ekrvmT3t7rm3nt88f35XDmxAYuNba+1pr\nr2qt/dMcnocfaq39ULTzuexkBvSquiPJB3IY5j7cWvupra8Ea1NVH03ynUlenuRyknuT/HaS38jh\nlcwXktzVWntu/vwPJrkjyd8l+ZHW2vFfeMRgVNVbkvxBksdyWN5vSd6X5DNJPhZtPQpV9a05HGh8\nMP/z6621n6yq1+TwhqGbkjyS5Idaa89X1UuTfCTJm5J8OcndrbUnd7LynEtVfUeS/9pa+z7tfD6+\nTgYAoIMZ0AEAOghTAAAdhCkAgA7CFABAB2EKAKCDMAUA0EGYAgDoIEwBAHT4/6cx7tcoMZxrAAAA\nAElFTkSuQmCC\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"\n",
"# A complete mask for one structure\n",
"whole_cortex_mask = rsp.make_structure_mask([315])\n",
"\n",
"# view in coronal section\n",
"fig, ax = plt.subplots(figsize=(10, 10))\n",
"plt.imshow(whole_cortex_mask[150, :], interpolation='none', cmap=plt.cm.afmhot)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What if you want a mask for a whole collection of ontologically disparate structures? Just pass more structure ids to make_structure_masks:"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nBsL12uYoYjELnZA4xvjH6eKLc3IoYiR5Y5I/nJY/kOTt0+W7p+tJ8tkkb1rKmrIRlvXhPtsyc3Aj\nITTGyMGBc363zew9/tdqm15RL3KuwSIEwu5aaM9VVQdV9ViS55P8cZK/TnJpjDHbwp5Nctt0+bYk\nzyTJGOMoyaWqevlS15pzNXuCXPar501+JX75xz1fj20JIJZn9op60z+CeZmPvW24v1y7RWcOjqfD\nCheSvD7Jj592s+nvy7e6mvsaW+TyJ8hlP5lv6pPnMj/6eJMDiNXZ9vMRrtX8/RUJ2+Gs2aNrmvMc\nY/x9kj9JcleS76+q2fdfSPLcdPnZJK9Kkqo6TPLSMca3ruXnsF7LeNW8qE168lz27IjDCiSbN/W+\nrEMKVyIStsNZ+6ZF3q3wA1V183T5+5L8XJInk3whyT3Tzd6V5MHp8kPT9Uxff+Sa15pzd/mhg016\n0j4P+3q/OR+b9GR5Xtv45YdYNuX+s5g66+SbqvrJnJxgeDD9+f0xxq9W1Q8n+XSSlyV5LMk7xhjf\nqaoXJ/lkktcl+dsk944xvnbKv+tQwwZY9+cUrPvV9Srv/7rvG9fvek9KXMTx8fFa36mzyvu26M/f\ntncr7aLDw8McHR1ljHHqzu/MOFgVcbBe646CeevaWa767YniYHvNf8jRKqzzCXLdcTAjEtbrrDjw\nCYl7ZpOiYOY818UnHLKIVU9/X/6RxMn+/Xpkn7i42cTBntnXJ8RNjCI216K/d+BGzZ/nch6/u+A8\n7tO18pjcTOKAnSYKuB7rmHo/j19w5HHAosQBa7fsqUWHDthmfgsim0AcsBGu9pvwrmUH6XcgsCtu\nJBI28fAB20UcsDGu9KR+1q/HNVPAsm3Sk+sikXD5+noccKPEAVthtrM77S1mm7gj9DbG7XZeJyRe\ni/lIOO1rsEz2XgBAY+aAreNVEqu2KR8UdJpd2/591sFmMnOwRzZtmhQg2b3g2QXiYI94AAKwCHEA\nADTiAABoxAGswOwkK4BtJA5gBXzsLbDNxAEA0IgDWAGHFYBtJg5gRbx1FNhW4gAAaMQBANCIAwCg\nEQcAQCMOAIBGHOyRgwPDDcDZPFvskU3+HfW7ZowhxoCtZe8FwNoI6c1kRACARhwAAI04AAAacQAA\nNOIAAGjEAQDQiAMAoBEHAEAjDgCARhzsGZ9EBsBZPFPsGb9fARYjpNlntn6AUwhp9pk4gCXzi2Rg\n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\nAEAjDgCA5v8DFfp6AfJDqmMAAAAASUVORK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# This gets all of the structures targeted by the Allen Brain Observatory project\n",
"brain_observatory_structures = rsp.structure_tree.get_structures_by_set_id([514166994])\n",
"brain_observatory_ids = [st['id'] for st in brain_observatory_structures]\n",
"\n",
"brain_observatory_mask = rsp.make_structure_mask(brain_observatory_ids)\n",
"\n",
"# view in horizontal section\n",
"fig, ax = plt.subplots(figsize=(10, 10))\n",
"plt.imshow(brain_observatory_mask[:, 40, :], interpolation='none', cmap=plt.cm.afmhot)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can also make and store a number of structure_masks at once:"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"made mask for structure 385.\n",
"made mask for structure 1097.\n"
]
},
{
"data": {
"text/plain": [
"['annotation.nrrd', 'structure_385.nrrd', 'structure_1097.nrrd']"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import functools\n",
"\n",
"# Define a wrapper function that will control the mask generation. \n",
"# This one checks for a nrrd file in the specified base directory \n",
"# and builds/writes the mask only if one does not exist\n",
"mask_writer = functools.partial(ReferenceSpace.check_and_write, annotation_dir)\n",
" \n",
"# many_structure_masks is a generator - nothing has actrually been run yet\n",
"mask_generator = rsp.many_structure_masks([385, 1097], mask_writer)\n",
"\n",
"# consume the resulting iterator to make and write the masks\n",
"for structure_id in mask_generator:\n",
" print( 'made mask for structure {0}.'.format(structure_id) ) \n",
"\n",
"os.listdir(annotation_dir)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Removing unassigned structures"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A structure graph may contain structures that are not used in a particular reference space. Having these around can complicate use of the reference space, so we generally want to remove them.\n",
"\n",
"We'll try this using \"Somatosensory areas, layer 6a\" as a test case. In the 2016 ccf space, this structure is unused in favor of finer distinctions (e.g. \"Primary somatosensory area, barrel field, layer 6a\")."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"voxel count for structure 12997: 0\n"
]
},
{
"data": {
"text/plain": [
"False"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Double-check the voxel counts\n",
"no_voxel_id = rsp.structure_tree.get_structures_by_name(['Somatosensory areas, layer 6a'])[0]['id']\n",
"print( 'voxel count for structure {0}: {1}'.format(no_voxel_id, rsp.total_voxel_map[no_voxel_id]) )\n",
"\n",
"# remove unassigned structures from the ReferenceSpace's StructureTree\n",
"rsp.remove_unassigned()\n",
"\n",
"# check the structure tree\n",
"no_voxel_id in rsp.structure_tree.node_ids()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### View a slice from the annotation"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\ngg==\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"\n",
"fig, ax = plt.subplots(figsize=(10, 10))\n",
"plt.imshow(rsp.get_slice_image(1, 5000), interpolation='none')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Downsample the space\n",
"\n",
"If you want an annotation at a resolution we don't provide, you can make one with the downsample method."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(528, 320, 456)\n",
"(176, 107, 152)\n"
]
}
],
"source": [
"import warnings\n",
"\n",
"target_resolution = [75, 75, 75]\n",
"\n",
"# in some versions of scipy, scipy.ndimage.zoom raises a helpful but distracting \n",
"# warning about the method used to truncate integers. \n",
"warnings.simplefilter('ignore')\n",
"\n",
"sf_rsp = rsp.downsample(target_resolution)\n",
"\n",
"# re-enable warnings\n",
"warnings.simplefilter('default')\n",
"\n",
"print( rsp.annotation.shape )\n",
"print( sf_rsp.annotation.shape )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now view the downsampled space:"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nqazmqrEwtwoAAAAASUVORK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize=(10, 10))\n",
"plt.imshow(sf_rsp.get_slice_image(1, 5000), interpolation='none')"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.13"
}
},
"nbformat": 4,
"nbformat_minor": 1
}