Skip to content
Snippets Groups Projects
Select Git revision
  • b09ba9c74b209e87c8952ffdbd5ae4cb26c8722f
  • master default protected
  • tut_ring_allen
  • docs_furo
  • docs_reorder_cable_cell
  • docs_graphviz
  • docs_rtd_dev
  • ebrains_mirror
  • doc_recat
  • docs_spike_source
  • docs_sim_sample_clar
  • docs_pip_warn
  • github_template_updates
  • docs_fix_link
  • cv_default_and_doc_clarification
  • docs_add_numpy_req
  • readme_zenodo_05
  • install_python_fix
  • install_require_numpy
  • typofix_propetries
  • docs_recipe_lookup
  • v0.10.0
  • v0.10.1
  • v0.10.0-rc5
  • v0.10.0-rc4
  • v0.10.0-rc3
  • v0.10.0-rc2
  • v0.10.0-rc
  • v0.9.0
  • v0.9.0-rc
  • v0.8.1
  • v0.8
  • v0.8-rc
  • v0.7
  • v0.6
  • v0.5.2
  • v0.5.1
  • v0.5
  • v0.4
  • v0.3
  • v0.2.2
41 results

blocks.hpp

Blame
  • atlas_loader.py 1.35 KiB
    import brainglobe_atlasapi
    import pandas as pd
    import numpy as np
    import nrrd
    
    
    def load_atlas_data(atlas_name):
        atlas = brainglobe_atlasapi.BrainGlobeAtlas(atlas_name=atlas_name)
        atlas_structures = {
            "idx": [i["id"] for i in atlas.structures_list],
            "name": [i["name"] for i in atlas.structures_list],
            "r": [i["rgb_triplet"][0] for i in atlas.structures_list],
            "g": [i["rgb_triplet"][1] for i in atlas.structures_list],
            "b": [i["rgb_triplet"][2] for i in atlas.structures_list],
        }
        atlas_structures["idx"].insert(0, 0)
        atlas_structures["name"].insert(0, "Clear Label")
        atlas_structures["r"].insert(0, 0)
        atlas_structures["g"].insert(0, 0)
        atlas_structures["b"].insert(0, 0)
    
        atlas_labels = pd.DataFrame(atlas_structures)
        atlas_volume = process_atlas_volume(atlas.annotation)
        hemi_map = process_atlas_volume(atlas.hemispheres)
        print("atlas labels loaded ✅")
        return atlas_volume,hemi_map, atlas_labels
    
    
    def process_atlas_volume(vol):
        return np.transpose(vol, [2, 0, 1])[::-1, ::-1, ::-1]
    
    
    def load_custom_atlas(atlas_path, hemi_path, label_path):
        atlas_volume, _ = nrrd.read(atlas_path)
        if hemi_path:
            hemi_volume, _ = nrrd.read(hemi_path)
        else:
            hemi_volume = None
        atlas_labels = pd.read_csv(label_path)
        return atlas_volume, hemi_volume, atlas_labels