From df79a35cf6d0daca03243a53feec32190b77f685 Mon Sep 17 00:00:00 2001 From: daniel watkins Date: Tue, 19 Nov 2024 15:48:08 -0500 Subject: [PATCH 1/4] Setting up documentation pages --- docs/src/assets/logo.png | Bin 0 -> 87010 bytes docs/src/preprocessing.md | 9 +++++++++ docs/src/segmentation.md | 6 ++++++ docs/src/tracking.md | 2 ++ 4 files changed, 17 insertions(+) create mode 100644 docs/src/assets/logo.png create mode 100644 docs/src/preprocessing.md create mode 100644 docs/src/segmentation.md create mode 100644 docs/src/tracking.md diff --git a/docs/src/assets/logo.png b/docs/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..64dab3d4c98a5bb1c08fc47dd4002b0586a61441 GIT binary patch literal 87010 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νYJ#C8h#q1Xnktcu8 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 z Date: Tue, 19 Nov 2024 15:49:14 -0500 Subject: [PATCH 2/4] changing order of elements in docs index --- docs/src/index.md | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/docs/src/index.md b/docs/src/index.md index 87c669b4..aac83043 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -3,6 +3,9 @@ ## Overview IceFloeTracker.jl is a collection of routines and tools for processing remote sensing imagery, identifying sea ice floes, and tracking the displacement and rotation of ice floes across multiple images. It can be used either standalone to create custom processing pathways or with the [Ice Floe Tracker Pipeline](https://github.com/WilhelmusLab/ice-floe-tracker-pipeline). +```@contents +``` + ## Algorithm components The Ice Floe Tracker (IFT) package includes the core functions for the three main steps of the algorithm. These functions can be used independently and can be customized for specific use cases. @@ -15,17 +18,7 @@ The IFT segmentation functions include functions for semantic segmentation (pixe ### Tracking Ice floe tracking is carried out by comparing the shapes produced in the segmentation step. Shapes with similar area are rotated until the difference in surface area is minimized, and then the edge shapes are compared using a Ѱ-s curve. If thresholds for correlation and area differences are met, then the floe with the best correlation and smallest area differences are considered matches and the objects are assigned the same label. In the end, trajectories for individual floes are recorded in a dataframe. -```@contents -``` -## Functions -```@autodocs -Modules = [IceFloeTracker] -Order = [:function, :macro, :type] -``` -## Index -```@index -``` ## Developers IceFloeTracker.jl is a product of the [Wilhelmus Lab](https://www.wilhelmuslab.me) at Brown University, led by Monica M. Wilhelmus. The original algorithm was developed by Rosalinda Lopez-Acosta during her PhD work at University of California Riverside, advised by Dr. Wilhelmus. The translation of the original Matlab code into the current modular, open source Julia package has been carried out in conjunction with the Center for Computing and Visualization at Brown University. Contributors include Daniel Watkins, Maria Isabel Restrepo, Carlos Paniagua, Tim DiVoll, John Holland, and Bradford Roarr. @@ -40,4 +33,14 @@ Lopez-Acosta et al., (2019). Ice Floe Tracker: An algorithm to automatically ret 1. Manucharyan, Lopez-Acosta, and Wilhelmus (2022)\*. Spinning ice floes reveal intensification of mesoscale eddies in the western Arctic Ocean. _Scientific Reports_, **12(7070)**, doi:[10.1038/s41598-022-10712-z](https://doi.org/10.1038/s41598-022-10712-z) 2. Watkins, Bliss, Hutchings, and Wilhelmus (2023)\*. Evidence of Abrupt Transitions Between Sea Ice Dynamical Regimes in the East Greenland Marginal Ice Zone. _Geophysical Research Letters_, **50(e2023GL103558)**, pp. 1-10, doi:[10.1029/2023GL103558](https://agupubs.onlinelibrary.wiley.com/doi/10.1029/2023GL103558) -\* Papers using data from the Matlab implementation of Ice Floe Tracker. +\*Papers using data from the Matlab implementation of Ice Floe Tracker. + +## Functions +```@autodocs +Modules = [IceFloeTracker] +Order = [:function, :macro, :type] +``` + +## Index +```@index +``` From 73c2baf4095b9a64b9b871846fbeabd3c0484e41 Mon Sep 17 00:00:00 2001 From: daniel watkins Date: Tue, 19 Nov 2024 17:23:45 -0500 Subject: [PATCH 3/4] adding example of landmask to preprocessing docs --- docs/src/assets/landmask_example.png | Bin 0 -> 20280 bytes docs/src/preprocessing.md | 19 +++++++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 docs/src/assets/landmask_example.png diff --git a/docs/src/assets/landmask_example.png b/docs/src/assets/landmask_example.png new file mode 100644 index 0000000000000000000000000000000000000000..346d23fcfabdf5e357d6ee718b33f4b17270676f GIT binary patch literal 20280 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 literal 0 HcmV?d00001 diff --git a/docs/src/preprocessing.md b/docs/src/preprocessing.md index 7902f159..7d94edd2 100644 --- a/docs/src/preprocessing.md +++ b/docs/src/preprocessing.md @@ -1,7 +1,22 @@ # Preprocessing +IFT operates on optical satellite imagery. The main functions are designed with "true color" and "false color" imagery in mind, and have thus far primarily been tested on imagery from the Moderate Resolution Imaging Spectroradiometer (MODIS) from the NASA _Aqua_ and _Terra_ satellites. The preprocessing routines mask land and cloud features, and aim to adjust and sharpen the remainder of the images to amplify the contrast along the edges of sea ice floes. The functions use three different images: a land mask, a true color image, and a false color image. Examples are based on the NASA MODIS dataset. -## Landm asks -Landmask generation and dilation +## Land masks +Landmask generation and dilation is handled by the function `create_landmask`. Landmask images from file are loaded as RGB matrices. This example uses an image from NASA EarthData landmask for Beaufort Sea. + +``` +using IceFloeTracker + +rgb_landmask = IceFloeTracker.load(); +landmask_imgs = IceFloeTracker.create_landmask(rgb_landmask); +``` +The landmask_imgs object includes a binary version of the original landmask and a dilated version, which helps to cover the complicated near-coastal regions. + +```@raw html + +``` + +At the top, we have the original landmask TIFF, which has black and gray values. The middle image is the binary image, with land set to 0. At the bottom, we can see the dilated image using the default value of the structuring element. The default has radius 50, which results in a coastal mask of 12.5 km based on the 250 m pixel size of default MODIS imagery. ## Cloud masks Setting thresholds for cloud mask From 384c6e0cdcaf6532d22d5376fc26de040389e276 Mon Sep 17 00:00:00 2001 From: daniel watkins Date: Tue, 19 Nov 2024 17:31:00 -0500 Subject: [PATCH 4/4] Correcting and clarifying docstrings in landmask --- src/landmask.jl | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/landmask.jl b/src/landmask.jl index bc390a22..1ccab3ef 100644 --- a/src/landmask.jl +++ b/src/landmask.jl @@ -1,7 +1,7 @@ """ create_landmask(landmask_image, struct_elem, fill_value_lower, fill_value_upper) -Convert a 3-channel RGB land mask image to a 1-channel binary matrix, including a buffer to extend the land over any soft ice regions; land = 0, water/ice = 1. Returns a named tuple with the dilated and non-dilated landmask. +Convert a 3-channel RGB land mask image to a 1-channel binary matrix, and use a structuring element to extend a buffer to mask complex coastal features. In the resulting mask, land = 0 and ocean = 1. Returns a named tuple with the dilated and non-dilated landmask. # Arguments - `landmask_image`: RGB land mask image from `fetchdata` @@ -31,7 +31,7 @@ end """ binarize_landmask(landmask_image) -Convert a 3-channel RGB land mask image to a 1-channel binary matrix; land = 0, water/ice = 1. +Convert a 3-channel RGB land mask image to a 1-channel binary matrix; land = 0, ocean = 1. # Arguments - `landmask_image`: RGB land mask image from `fetchdata` @@ -47,7 +47,7 @@ end """ apply_landmask(input_image, landmask_binary) -Zero out pixels in land and soft ice regions on truecolor image, return RGB image with zero for all three channels on land/soft ice. +Zero out pixels in all channels of the input image using the binary landmask. # Arguments @@ -69,7 +69,8 @@ end """ remove_landmask(landmask, ice_mask) -Find the pixel indexes that are floating ice rather than soft or land ice. Returns an array of pixel indexes. +Apply the landmask to the ice mask to remove labeled ice pixels that overlap with the landmask. Returns +a list of indices of pixels that are likely containing sea ice. # Arguments - `landmask`: bitmatrix landmask for region of interest @@ -77,6 +78,7 @@ Find the pixel indexes that are floating ice rather than soft or land ice. Retur """ ## NOTE(tjd): This function is called in `find_ice_labels.jl` +## NOTE(dmw): For consistency, it would make sense to reverse the order of inputs to match landmask function remove_landmask(landmask::BitMatrix, ice_mask::BitMatrix)::Array{Int64} land = IceFloeTracker.apply_landmask(ice_mask, landmask) return [i for i in 1:length(land) if land[i]]