Skip to content

Commit

Permalink
Merge imio in as image_io submodule (#33)
Browse files Browse the repository at this point in the history
* Initial commit

* bump

* bump

* bump

* add bump2version

* Bump version: 0.0.2 → 0.0.3

* add pre commit hooks

* update testing

* reorder ci

* fix non-istropic loading error

* Bump version: 0.0.3 → 0.0.4

* Gh actions (#3)

* add gh actions

* Update testing

* update testing

* add lint

* coveralls

* coveralls

* deploy

* Bump version: 0.0.4 → 0.0.5

* update readme

* transfer to brainglobe

* run tests on PR

* update coverage

* support python 3.9

* Bump version: 0.0.5 → 0.0.6

* update bump2version

* Bump version: 0.0.6 → 0.1.0-rc0

* Bump version: 0.1.0-rc0 → 0.1.0

* Update setup.py

* add missing import

* Update README.md

* fix linting

* Exclude tests from packaged distributions (#6)

* Update pre commit

* reformat

* Python 3.10 compatibility

* Bump version: 0.1.0 → 0.2.0-rc0

* update GH actions

* Bump version: 0.2.0-rc0 → 0.2.0-rc1

* Bump version: 0.2.0-rc1 → 0.2.0

* Revert older changes

* Fix deprecation of tifffile.imsave replaced by tifffile.imwrite. (#8)

Co-authored-by: Jules Scholler <[email protected]>

* Bump version: 0.2.1 → 0.2.2-rc0

* Bump version: 0.2.2-rc0 → 0.2.2

* Add link to contributing guide

* Add tox and use brainglobe/actions (#10)

* Add tox and use brainglobe actions for testing

* Update pre-commit

* run pre-commit

* Update tox.ini

* Bump version: 0.2.2 → 0.2.3-rc0

* Bump version: 0.2.3-rc0 → 0.2.3

* Long description (#11)

* Add long description for PyPI

* Bump version: 0.2.3 → 0.2.4-rc0

* Bump version: 0.2.4-rc0 → 0.2.4

* Change coverage badge to codecov.

* Test on recent python versions (#13)

* Test on recent python versions

* Bump pre-commit versions

* Fix dtype issue

* Remove straggling mention of 3.7

* Replace brainglobe > NI actions (#14)

* Use standard pre-commit config  (#15)

* Add standard pre-commit config

* pre-commit fixes

* Use pyproject.toml (#16)

* Filter warnings in pytest (#17)

* Filter warnings in pytest

* Filter nptyping warnings

* Add all-contributors

* Update README.md

Co-authored-by: David Stansby <[email protected]>

* docs: add crousseau as a contributor for code, ideas, and test (#25)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* Remove badge

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Adam Tyson <[email protected]>

* Don't skip CI for all-contrbutors-bot

* Update .all-contributorsrc

* docs: add jaimergp as a contributor for code (#23)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* Update README.md

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Adam Tyson <[email protected]>

* docs: add JulesScholler as a contributor for code (#22)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* Update README.md

* Update .all-contributorsrc

* Update .all-contributorsrc

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Adam Tyson <[email protected]>

* docs: add dstansby as a contributor for test, code, and 3 more (#21)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* Update README.md

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Adam Tyson <[email protected]>

* docs: add adamltyson as a contributor for code, infra, and 2 more (#24)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

* Update README.md

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Adam Tyson <[email protected]>

* Update doc links (#27)

* [pre-commit.ci] pre-commit autoupdate (#28)

updates:
- [github.com/charliermarsh/ruff-pre-commit: v0.0.240 → v0.0.272](astral-sh/ruff-pre-commit@v0.0.240...v0.0.272)
- [github.com/psf/black: 23.1.0 → 23.3.0](psf/black@23.1.0...23.3.0)
- [github.com/pre-commit/mirrors-mypy: v0.991 → v1.3.0](pre-commit/mirrors-mypy@v0.991...v1.3.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Update dependency (imlib -> brainglobe-utils) (#29)

* [pre-commit.ci] pre-commit autoupdate (#31)

updates:
- [github.com/charliermarsh/ruff-pre-commit: v0.0.272 → v0.0.275](astral-sh/ruff-pre-commit@v0.0.272...v0.0.275)
- [github.com/pre-commit/mirrors-mypy: v1.3.0 → v1.4.1](pre-commit/mirrors-mypy@v1.3.0...v1.4.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* remove all contributors (#32)

* [pre-commit.ci] pre-commit autoupdate (#33)

updates:
- https://github.com/charliermarsh/ruff-pre-commithttps://github.com/astral-sh/ruff-pre-commit
- [github.com/astral-sh/ruff-pre-commit: v0.0.275 → v0.0.276](astral-sh/ruff-pre-commit@v0.0.275...v0.0.276)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#34)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.276 → v0.0.277](astral-sh/ruff-pre-commit@v0.0.276...v0.0.277)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Update CI workflow to use NIU actions (#35)

* [pre-commit.ci] pre-commit autoupdate (#36)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.277 → v0.0.278](astral-sh/ruff-pre-commit@v0.0.277...v0.0.278)
- [github.com/psf/black: 23.3.0 → 23.7.0](psf/black@23.3.0...23.7.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#37)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.278 → v0.0.280](astral-sh/ruff-pre-commit@v0.0.278...v0.0.280)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#38)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.280 → v0.0.281](astral-sh/ruff-pre-commit@v0.0.280...v0.0.281)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#39)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.281 → v0.0.282](astral-sh/ruff-pre-commit@v0.0.281...v0.0.282)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#40)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.282 → v0.0.284](astral-sh/ruff-pre-commit@v0.0.282...v0.0.284)
- [github.com/pre-commit/mirrors-mypy: v1.4.1 → v1.5.0](pre-commit/mirrors-mypy@v1.4.1...v1.5.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#41)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.284 → v0.0.285](astral-sh/ruff-pre-commit@v0.0.284...v0.0.285)
- [github.com/pre-commit/mirrors-mypy: v1.5.0 → v1.5.1](pre-commit/mirrors-mypy@v1.5.0...v1.5.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#42)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.285 → v0.0.286](astral-sh/ruff-pre-commit@v0.0.285...v0.0.286)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Set pre-commit autoupdate frequency to monthly (#43)

* [pre-commit.ci] pre-commit autoupdate (#44)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.286 → v0.0.287](astral-sh/ruff-pre-commit@v0.0.286...v0.0.287)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#45)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.0.287 → v0.0.292](astral-sh/ruff-pre-commit@v0.0.287...v0.0.292)
- [github.com/psf/black: 23.7.0 → 23.9.1](psf/black@23.7.0...23.9.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#48)

updates:
- [github.com/pre-commit/pre-commit-hooks: v4.4.0 → v4.5.0](pre-commit/pre-commit-hooks@v4.4.0...v4.5.0)
- [github.com/astral-sh/ruff-pre-commit: v0.0.292 → v0.1.4](astral-sh/ruff-pre-commit@v0.0.292...v0.1.4)
- [github.com/psf/black: 23.9.1 → 23.10.1](psf/black@23.9.1...23.10.1)
- [github.com/pre-commit/mirrors-mypy: v1.5.1 → v1.6.1](pre-commit/mirrors-mypy@v1.5.1...v1.6.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#49)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.1.4 → v0.1.6](astral-sh/ruff-pre-commit@v0.1.4...v0.1.6)
- [github.com/psf/black: 23.10.1 → 23.11.0](psf/black@23.10.1...23.11.0)
- [github.com/pre-commit/mirrors-mypy: v1.6.1 → v1.7.1](pre-commit/mirrors-mypy@v1.6.1...v1.7.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#50)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.1.6 → v0.1.9](astral-sh/ruff-pre-commit@v0.1.6...v0.1.9)
- [github.com/psf/black: 23.11.0 → 23.12.1](psf/black@23.11.0...23.12.1)
- [github.com/pre-commit/mirrors-mypy: v1.7.1 → v1.8.0](pre-commit/mirrors-mypy@v1.7.1...v1.8.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Update GH actions badge (#51)

* Update test_and_deploy.yml (#52)

See neuroinformatics-unit/movement#108

Co-authored-by: Igor Tatarnikov <[email protected]>

* Add manifest (#54)

* Update CI workflows with manifest

* Allow workflow to be dispatchable

* Add pyarrow dependency to prevent future pandas failures

* [pre-commit.ci] pre-commit autoupdate (#53)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.1.9 → v0.2.0](astral-sh/ruff-pre-commit@v0.1.9...v0.2.0)
- [github.com/psf/black: 23.12.1 → 24.1.1](psf/black@23.12.1...24.1.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* refactor image_io as submodule

* Deprecated alias warning is still present

* Fix an actual circular import because of wildcard import

* Fix buggy html logo - wrong escape backslash

---------

Co-authored-by: crousseau <[email protected]>
Co-authored-by: Adam Tyson <[email protected]>
Co-authored-by: Adam Tyson <[email protected]>
Co-authored-by: Jaime Rodríguez-Guerra <[email protected]>
Co-authored-by: Jules Scholler <[email protected]>
Co-authored-by: Jules Scholler <[email protected]>
Co-authored-by: David Stansby <[email protected]>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Alessandro Felder <[email protected]>
Co-authored-by: Igor Tatarnikov <[email protected]>
  • Loading branch information
12 people authored Feb 9, 2024
1 parent 6bae0a6 commit 5a2a2d6
Show file tree
Hide file tree
Showing 12 changed files with 757 additions and 70 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/test_and_deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@ name: tests
on:
push:
branches:
- 'main'
- "main"
tags:
- 'v*'
- "v**"
pull_request:
workflow_dispatch:

jobs:
linting:
name: Check Linting
runs-on: ubuntu-latest
steps:
- uses: neuroinformatics-unit/actions/lint@v2
Expand Down Expand Up @@ -60,7 +61,6 @@ jobs:
steps:
- uses: neuroinformatics-unit/actions/build_sdist_wheels@v2


upload_all:
name: Publish build distributions
needs: [build_sdist_wheels]
Expand Down
5 changes: 4 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,7 @@ repos:
hooks:
- id: mypy
args: [--config-file, pyproject.toml]
additional_dependencies: [numpy]
additional_dependencies:
- numpy
- types-setuptools
- types-requests
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
# brainglobe-utils

Shared general purpose tools for the BrainGlobe project

## Installation

```bash
pip install brainglobe-utils
```

To also include the dependencies required for `napari`, use:

```bash
pip install brainglobe-utils[napari]
```

For development, clone this repository and install the dependencies with one of the following commands:

```bash
pip install -e .[dev]
pip install -e .[dev,napari]
Expand Down
13 changes: 7 additions & 6 deletions brainglobe_utils/brainreg/transform.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@
import os
from typing import List, Optional, Tuple

import bg_space as bgs
import imio
import brainglobe_space as bgs
import numpy as np
import pandas as pd
import tifffile
from bg_atlasapi import BrainGlobeAtlas

from brainglobe_utils.image_io import get_size_image_from_file_paths


def transform_points_from_downsampled_to_atlas_space(
downsampled_points: np.ndarray,
Expand Down Expand Up @@ -91,7 +92,7 @@ def get_anatomical_space_from_image_planes(
image_plane : np.ndarray
A numpy-like array representing a single image plane from a 3D image.
orientation : str
The orientation of the image following the bg-space
The orientation of the image following the brainglobe-space
three-letter convention (e.g., 'asr', 'psl').
voxel_sizes : List[float]
A list of floats representing the voxel sizes (e.g., [5, 2, 2]).
Expand All @@ -103,7 +104,7 @@ def get_anatomical_space_from_image_planes(
"""

shape = tuple(imio.get_size_image_from_file_paths(image_plane).values())
shape = tuple(get_size_image_from_file_paths(image_plane).values())

space = bgs.AnatomicalSpace(
orientation,
Expand Down Expand Up @@ -132,7 +133,7 @@ def transform_points_from_raw_to_downsampled_space(
source_image_plane : np.ndarray
A numpy-like array representing a single image.
orientation : str
The orientation of the image following the bg-space
The orientation of the image following the brainglobe-space
three letter convention (e.g. 'asr', 'psl')
voxel_sizes : List[float]
A list of floats representing the voxel sizes (e.g. [5, 2, 2])
Expand Down Expand Up @@ -182,7 +183,7 @@ def transform_points_to_atlas_space(
source_image_plane : np.ndarray
A numpy-like array representing a single image.
orientation : str
The orientation of the image following the bg-space
The orientation of the image following the brainglobe-space
three letter convention (e.g. 'asr', 'psl')
voxel_sizes : List[float]
A list of floats representing the voxel sizes (e.g. [5, 2, 2])
Expand Down
4 changes: 2 additions & 2 deletions brainglobe_utils/image/heatmap.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
from pathlib import Path
from typing import Tuple, Union

import imio
import numpy as np
from scipy.ndimage import zoom
from skimage.filters import gaussian
Expand All @@ -10,6 +9,7 @@
from brainglobe_utils.image.binning import get_bins
from brainglobe_utils.image.masking import mask_image_threshold
from brainglobe_utils.image.scale import scale_and_convert_to_16_bits
from brainglobe_utils.image_io import to_tiff


def rescale_array(source_array, target_array, order=1):
Expand Down Expand Up @@ -104,6 +104,6 @@ def heatmap_from_points(

if output_filename is not None:
ensure_directory_exists(Path(output_filename).parent)
imio.to_tiff(heatmap_array, output_filename)
to_tiff(heatmap_array, output_filename)

return heatmap_array
6 changes: 6 additions & 0 deletions brainglobe_utils/image_io/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
__author__ = "Charly Rousseau, Adam Tyson"
__version__ = "0.2.4"

from brainglobe_utils.image_io.load import *
from brainglobe_utils.image_io.save import *
from brainglobe_utils.image_io.utils import *
Loading

0 comments on commit 5a2a2d6

Please sign in to comment.