Track Ice Floes using Moderate Resolution Imaging Spectroradiometer (MODIS) data.
See the package's documentation at https://wilhelmuslab.github.io/IceFloeTracker.jl/
There are Jupyter notebooks illustrating the main image processing and tracking functions, in the /notebooks folder.
See related tools in the IFTPipeline repository, including a Julia Command-line Interface and templates that leverage the Cylc pipeline orchestrator.
Open a Google Colab notebook and start segmenting images.
The easiest way to get started developing the IceFloeTracker.jl is to use a devcontainer. Clone the repository in VSCode and then run the command "Reopen in Container". This will create a virtual machine to run the code, ensure all the packages are installed and precompiled, and run a subset of the package tests.
If you prefer to run within your regular operating system, install the dependencies:
- Julia
- libgdal-dev
- git version 2.9 or later
The PyCall dependency of IceFloeTracker.jl often causes issues when installing the package. To set up PyCall and its Conda environment correctly after installing Julia, run:
julia --project=.devcontainer/PyCallSetup.jl .devcontainer/PyCallSetup.jl/setup.jlGit hooks are used to run common developer tasks on commits (e.g. code formatting, tests, etc.). Run the following from the root of the project to enable git hooks:
git config core.hooksPath ./hooksTo help with passing git hooks, run the formatting script before staging files:
./scripts/format.jl
git add .
git commit -m "some informative message"
git push
- Start a new branch and update the major or minor version numbers in the corresponding field at the top of
Project.toml - After merging the changes, add
@JuliaRegistrator registerin a comment in the commit you wish to use for the release (not a comment on a PR, but the actual commit)- this bot will open a PR on the Julia registry for the package
- Wait for feedback from the bot to make sure the new version is accepted and merged to the Julia registry
- Create a new version tag
- The bot will generate git commands that you can run in a terminal to add a tag
- Create the new release on the repo console
- Click on
Draft a new release - Choose the new tag you created
- Click on
Generate release notesor add a custom description
- Click on
- Head over the
ice-floe-tracker-pipelinerepo and update the[compat]section of theProject.tomlwhereIceFloeTrackeris a dependency.
Note: After the PR for the release is merged, a trigger workflow will force a rebuild of Docker container used in the pipeline.