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

Workaround for Apple Silicon platforms #634

Merged
merged 9 commits into from
Apr 13, 2024
Merged

Workaround for Apple Silicon platforms #634

merged 9 commits into from
Apr 13, 2024

Conversation

yoda-vid
Copy link
Collaborator

Installation has been failing on Mac M-chips (Apple Silicon) because the Javabridge custom binaries haven't been built for that platforms. As a workaround, the readme now has a "Quick Install" section with an install command that skips Javabridge, installing only the GUI and ITK groups. This install also has the added benefit of not requiring the custom PyPi or Conda, though it doesn't install support for importing proprietary miscroscopy image formats.

Another issue encountered on Mac M-chips is that ITK installs but for some reason doesn't load properly. A workaround is either to install ITK first, or to only install ITK through ITK-Elastix. I've opted for the latter so that installation can still be done in one step.

Installing ITK-Elastix directly will also pull in a more recent version of ITK. For some reason, this version has an issue where the CastImageFilter may return an empty image. I've added a workaround that falls back to casting through the .astype interface.

Specifying `itk` causes installations on macOS arm64 platforms to be unable to load `itk` for some reason. Remove this reference since `itk-elastix` will install `itk` anyway, and `itk` appears to work properly with this installation. `itk-elastix` also currently installs a later, pre-release version of `itk`. Note that the current release of `itk` (v5.3.0) does work on macOS arm64 if installed before the rest of the dependencies, for unclear reason.
Cast image generated from Transformix directly to labels image type if casting to the original data type using a cast filter resulted in an empty image.
- Split installation section into quick install with Pip-only install, excluding Java-based dependencies
- Full install section with Conda and Pip+Java installs
- Add note that Java-based pathway is not currently working on Apple Silicon platforms
- Remove virtual environment link for simplicity
@yoda-vid yoda-vid added bug Something isn't working documentation Improvements or additions to documentation dependencies Issues/requests related to a dependency package labels Apr 12, 2024
@yoda-vid yoda-vid added this to the v1.6.0 milestone Apr 12, 2024
- Remove Javabridge and Python-Bioformats since their custom binaries are not currently supported for Mac arm64 platforms
- Remove extra PyPi since only these packages needed it
- Update rest of packages to current releases
This package appears to only have binaries for macOS and leads to an error when installed through requirements on other platforms, fixed here.
@yoda-vid yoda-vid merged commit 6241874 into master Apr 13, 2024
36 checks passed
@yoda-vid yoda-vid deleted the fix_mac_arm64 branch April 13, 2024 18:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working dependencies Issues/requests related to a dependency package documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant