Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Standardising atlas generation scripts #296

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Metadata
__version__ = "0"

# Imports
import dataclasses
import json
import multiprocessing as mp
Expand All @@ -14,12 +16,16 @@
from rich.progress import track
from skimage import io

# Custom Module Imports
from brainglobe_atlasapi import utils
from brainglobe_atlasapi.atlas_generation.mesh_utils import (
Region,
create_region_mesh,
)
from brainglobe_atlasapi.atlas_generation.wrapup import wrapup_atlas_from_data

# Paths
from brainglobe_atlasapi.config import DEFAULT_DOWNLOAD_PATH, DEFAULT_PATH

Check warning on line 28 in brainglobe_atlasapi/atlas_generation/atlas_scripts/admba_3d_dev_mouse.py

View check run for this annotation

Codecov / codecov/patch

brainglobe_atlasapi/atlas_generation/atlas_scripts/admba_3d_dev_mouse.py#L28

Added line #L28 was not covered by tests
from brainglobe_atlasapi.structure_tree_util import get_structures_tree

PARALLEL = True
Expand Down Expand Up @@ -212,7 +218,7 @@


def create_atlas(
working_dir: Path = Path.home(), atlas_config: "AtlasConfig" = None
working_dir: Path = DEFAULT_PATH, atlas_config: "AtlasConfig" = None
):
assert (
len(atlas_config.orientation) == 3
Expand All @@ -229,7 +235,7 @@
working_dir = working_dir / "admba_3d_dev_mouse" / atlas_config.atlas_name
working_dir.mkdir(exist_ok=True, parents=True)

download_dir_path = working_dir / "downloads"
download_dir_path = DEFAULT_DOWNLOAD_PATH

Check warning on line 238 in brainglobe_atlasapi/atlas_generation/atlas_scripts/admba_3d_dev_mouse.py

View check run for this annotation

Codecov / codecov/patch

brainglobe_atlasapi/atlas_generation/atlas_scripts/admba_3d_dev_mouse.py#L238

Added line #L238 was not covered by tests
download_dir_path.mkdir(exist_ok=True)
if path.isdir(atlas_config.atlas_file_url):
print("Setting atlas to directory: ", atlas_config.atlas_file_url)
Expand Down Expand Up @@ -305,7 +311,7 @@

if __name__ == "__main__":
# Generated atlas path:
bg_root_dir = Path.home() / "brainglobe_workingdir"
bg_root_dir = DEFAULT_PATH

Check warning on line 314 in brainglobe_atlasapi/atlas_generation/atlas_scripts/admba_3d_dev_mouse.py

View check run for this annotation

Codecov / codecov/patch

brainglobe_atlasapi/atlas_generation/atlas_scripts/admba_3d_dev_mouse.py#L314

Added line #L314 was not covered by tests
bg_root_dir.mkdir(exist_ok=True, parents=True)

# set up E11.5 atlas settings and use as template for rest of brains
Expand Down
12 changes: 8 additions & 4 deletions brainglobe_atlasapi/atlas_generation/atlas_scripts/allen_cord.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Metadata
__version__ = "1"

# Imports
import json
import multiprocessing as mp
import time
Expand All @@ -13,15 +15,17 @@
from loguru import logger
from rich.progress import track

# import sys
# sys.path.append("./")
# Custom Module Imports
from brainglobe_atlasapi import utils
from brainglobe_atlasapi.atlas_generation.mesh_utils import (
Region,
create_region_mesh,
inspect_meshes_folder,
)
from brainglobe_atlasapi.atlas_generation.wrapup import wrapup_atlas_from_data

# Paths
from brainglobe_atlasapi.config import DEFAULT_DOWNLOAD_PATH, DEFAULT_PATH

Check warning on line 28 in brainglobe_atlasapi/atlas_generation/atlas_scripts/allen_cord.py

View check run for this annotation

Codecov / codecov/patch

brainglobe_atlasapi/atlas_generation/atlas_scripts/allen_cord.py#L28

Added line #L28 was not covered by tests
from brainglobe_atlasapi.structure_tree_util import get_structures_tree

PARALLEL = True
Expand Down Expand Up @@ -224,7 +228,7 @@
ATLAS_FILE_URL = "https://prod-dcd-datasets-cache-zipfiles.s3.eu-west-1.amazonaws.com/4rrggzv5d5-1.zip"
ATLAS_PACKAGER = "MetaCell LLC, Ltd."

download_dir_path = working_dir / "downloads"
download_dir_path = DEFAULT_DOWNLOAD_PATH

Check warning on line 231 in brainglobe_atlasapi/atlas_generation/atlas_scripts/allen_cord.py

View check run for this annotation

Codecov / codecov/patch

brainglobe_atlasapi/atlas_generation/atlas_scripts/allen_cord.py#L231

Added line #L231 was not covered by tests
download_dir_path.mkdir(exist_ok=True)

# Download atlas files from Mendeley
Expand Down Expand Up @@ -287,7 +291,7 @@

if __name__ == "__main__":
# Generated atlas path:
bg_root_dir = Path.home() / "brainglobe_workingdir" / "allen_cord_smooth"
bg_root_dir = DEFAULT_PATH

Check warning on line 294 in brainglobe_atlasapi/atlas_generation/atlas_scripts/allen_cord.py

View check run for this annotation

Codecov / codecov/patch

brainglobe_atlasapi/atlas_generation/atlas_scripts/allen_cord.py#L294

Added line #L294 was not covered by tests
bg_root_dir.mkdir(exist_ok=True, parents=True)

# generate atlas
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,21 @@
# Metadata
__version__ = "2"

from pathlib import Path
# Imports

from allensdk.api.queries.ontologies_api import OntologiesApi
from allensdk.api.queries.reference_space_api import ReferenceSpaceApi
from allensdk.core.reference_space_cache import ReferenceSpaceCache
from requests import exceptions
from tqdm import tqdm

# Custom Module Imports
from brainglobe_atlasapi import descriptors
from brainglobe_atlasapi.atlas_generation.wrapup import wrapup_atlas_from_data

# Paths
from brainglobe_atlasapi.config import DEFAULT_DOWNLOAD_PATH, DEFAULT_PATH

Check warning on line 17 in brainglobe_atlasapi/atlas_generation/atlas_scripts/allen_mouse.py

View check run for this annotation

Codecov / codecov/patch

brainglobe_atlasapi/atlas_generation/atlas_scripts/allen_mouse.py#L17

Added line #L17 was not covered by tests


def create_atlas(working_dir, resolution):
# Specify information about the atlas:
Expand All @@ -21,7 +26,7 @@
ORIENTATION = "asr"

# Temporary folder for nrrd files download:
download_dir_path = working_dir / "downloading_path"
download_dir_path = DEFAULT_DOWNLOAD_PATH

Check warning on line 29 in brainglobe_atlasapi/atlas_generation/atlas_scripts/allen_mouse.py

View check run for this annotation

Codecov / codecov/patch

brainglobe_atlasapi/atlas_generation/atlas_scripts/allen_mouse.py#L29

Added line #L29 was not covered by tests
download_dir_path.mkdir(exist_ok=True)

# Download annotated and template volume:
Expand Down Expand Up @@ -109,7 +114,7 @@
if __name__ == "__main__":
RES_UM = 25
# Generated atlas path:
bg_root_dir = Path.home() / "brainglobe_workingdir" / "allen_mouse"
bg_root_dir = DEFAULT_PATH

Check warning on line 117 in brainglobe_atlasapi/atlas_generation/atlas_scripts/allen_mouse.py

View check run for this annotation

Codecov / codecov/patch

brainglobe_atlasapi/atlas_generation/atlas_scripts/allen_mouse.py#L117

Added line #L117 was not covered by tests
bg_root_dir.mkdir(exist_ok=True)

create_atlas(bg_root_dir, RES_UM)
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@

@author: Kailyn Fields, [email protected]
"""

# Metadata
__version__ = "1"

# Imports
import csv
import multiprocessing as mp
import tarfile
Expand All @@ -19,12 +20,15 @@
import tifffile
from rich.progress import track

# Custom Module Imports
from brainglobe_atlasapi import utils
from brainglobe_atlasapi.atlas_generation.mesh_utils import (
Region,
create_region_mesh,
)
from brainglobe_atlasapi.atlas_generation.wrapup import wrapup_atlas_from_data

# Paths
from brainglobe_atlasapi.structure_tree_util import get_structures_tree

PARALLEL = False # Disable for debugging mesh creation
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Metadata
__version__ = "2"

# Imports
from pathlib import Path

from allensdk.api.queries.ontologies_api import OntologiesApi
Expand All @@ -8,8 +10,11 @@
from requests import exceptions
from tqdm import tqdm

# Custom Module Imports
from brainglobe_atlasapi.atlas_generation.wrapup import wrapup_atlas_from_data

# Paths


def create_atlas(working_dir, resolution):
# Specify information about the atlas:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,28 @@
# Metadata
__version__ = "1"

# Imports
import json
import multiprocessing as mp
import time
import zipfile
from pathlib import Path

import imio
import numpy as np
import pandas as pd
from brainglobe_utils.image_io import load_nii

Check warning on line 13 in brainglobe_atlasapi/atlas_generation/atlas_scripts/kim_developmental_ccf_mouse.py

View check run for this annotation

Codecov / codecov/patch

brainglobe_atlasapi/atlas_generation/atlas_scripts/kim_developmental_ccf_mouse.py#L13

Added line #L13 was not covered by tests
from rich.progress import track
from scipy.ndimage import zoom

# Custom Module Imports
from brainglobe_atlasapi import utils
from brainglobe_atlasapi.atlas_generation.mesh_utils import (
Region,
create_region_mesh,
)
from brainglobe_atlasapi.atlas_generation.wrapup import wrapup_atlas_from_data

# Paths
from brainglobe_atlasapi.structure_tree_util import get_structures_tree

PARALLEL = True # disable parallel mesh extraction for easier debugging
Expand Down Expand Up @@ -118,8 +123,8 @@
# Load (and possibly downsample) annotated volume:
scaling = ANNOTATIONS_RES_UM / resolution

annotated_volume = imio.load_nii(annotations_file, as_array=True)
template_volume = imio.load_nii(template_file, as_array=True)
annotated_volume = load_nii(annotations_file, as_array=True)
template_volume = load_nii(template_file, as_array=True)

Check warning on line 127 in brainglobe_atlasapi/atlas_generation/atlas_scripts/kim_developmental_ccf_mouse.py

View check run for this annotation

Codecov / codecov/patch

brainglobe_atlasapi/atlas_generation/atlas_scripts/kim_developmental_ccf_mouse.py#L126-L127

Added lines #L126 - L127 were not covered by tests

annotated_volume = zoom(
annotated_volume, (scaling, scaling, scaling), order=0, prefilter=False
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Metadata
__version__ = "1"

# Imports
import argparse
import json
import multiprocessing as mp
Expand All @@ -14,12 +16,15 @@
from rich.progress import track
from scipy.ndimage import zoom

# Custom Module Imports
from brainglobe_atlasapi import utils
from brainglobe_atlasapi.atlas_generation.mesh_utils import (
Region,
create_region_mesh,
)
from brainglobe_atlasapi.atlas_generation.wrapup import wrapup_atlas_from_data

# Paths
from brainglobe_atlasapi.structure_tree_util import get_structures_tree

PARALLEL = False # disable parallel mesh extraction for easier debugging
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Metadata
__version__ = "1"

# Imports
import tarfile
import warnings
import zipfile
Expand All @@ -11,7 +13,10 @@
from scipy.ndimage import binary_dilation, binary_erosion, binary_fill_holes
from tifffile import imread

# Custom Module Imports
from brainglobe_atlasapi.atlas_generation.wrapup import wrapup_atlas_from_data

# Paths
from brainglobe_atlasapi.utils import retrieve_over_http

BASE_URL = r"https://fishatlas.neuro.mpg.de"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Metadata
__version__ = "0"

# Imports
import json
import multiprocessing as mp
import tarfile
Expand All @@ -13,12 +15,15 @@
from rich.progress import track
from scipy.ndimage import zoom

# Custom Module Imports
from brainglobe_atlasapi import utils
from brainglobe_atlasapi.atlas_generation.mesh_utils import (
Region,
create_region_mesh,
)
from brainglobe_atlasapi.atlas_generation.wrapup import wrapup_atlas_from_data

# Paths
from brainglobe_atlasapi.structure_tree_util import get_structures_tree

PARALLEL = False # disable parallel mesh extraction for easier debugging
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Metadata
__version__ = "2"

# Imports
import json
import multiprocessing as mp
import tarfile
Expand All @@ -11,12 +13,15 @@
import SimpleITK as sitk
from rich.progress import track

# Custom Module Imports
from brainglobe_atlasapi import utils
from brainglobe_atlasapi.atlas_generation.mesh_utils import (
Region,
create_region_mesh,
)
from brainglobe_atlasapi.atlas_generation.wrapup import wrapup_atlas_from_data

# Paths
from brainglobe_atlasapi.structure_tree_util import get_structures_tree

PARALLEL = True # disable parallel mesh extraction for easier debugging
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Metadata
__version__ = "0"
__atlas__ = "princeton_mouse"

# Imports
import json
import multiprocessing as mp
import os.path
Expand All @@ -13,12 +15,15 @@
from rich.progress import track
from scipy.ndimage import zoom

# Custom Module Imports
from brainglobe_atlasapi import utils
from brainglobe_atlasapi.atlas_generation.mesh_utils import (
Region,
create_region_mesh,
)
from brainglobe_atlasapi.atlas_generation.wrapup import wrapup_atlas_from_data

# Paths
from brainglobe_atlasapi.structure_tree_util import get_structures_tree

PARALLEL = False
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Metadata
__version__ = "0"

# Imports
import json
import multiprocessing as mp
import time
Expand All @@ -11,12 +13,15 @@
import xmltodict
from rich.progress import track

# Custom Module Imports
from brainglobe_atlasapi import utils
from brainglobe_atlasapi.atlas_generation.mesh_utils import (
Region,
create_region_mesh,
)
from brainglobe_atlasapi.atlas_generation.wrapup import wrapup_atlas_from_data

# Paths
from brainglobe_atlasapi.structure_tree_util import get_structures_tree

PARALLEL = True
Expand Down
3 changes: 2 additions & 1 deletion brainglobe_atlasapi/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,11 @@

# 2 level dictionary for sections and values:
DEFAULT_PATH = Path.home() / ".brainglobe"
DEFAULT_DOWNLOAD_PATH = DEFAULT_PATH / "downloads"
TEMPLATE_CONF_DICT = {
"default_dirs": {
"brainglobe_dir": DEFAULT_PATH,
"interm_download_dir": DEFAULT_PATH,
"interm_download_dir": DEFAULT_DOWNLOAD_PATH,
}
}

Expand Down