From c9d3704f12653ca9f9575c6e5e6ae269e74bc8f1 Mon Sep 17 00:00:00 2001 From: Dale Black Date: Fri, 10 Nov 2023 16:56:34 -0800 Subject: [PATCH] up docs --- docs/01_getting_started.jl | 162 ++++++-- docs/05_benchmarks.jl | 242 +++++------ docs/Manifest.toml | 821 +++++++++++++++++++++++++++---------- docs/Project.toml | 10 + index.jl | 6 +- 5 files changed, 864 insertions(+), 377 deletions(-) diff --git a/docs/01_getting_started.jl b/docs/01_getting_started.jl index 007fabc..933749c 100644 --- a/docs/01_getting_started.jl +++ b/docs/01_getting_started.jl @@ -1,5 +1,5 @@ ### A Pluto.jl notebook ### -# v0.19.26 +# v0.19.32 #> [frontmatter] #> title = "Getting Started" @@ -15,71 +15,133 @@ begin Pkg.activate(".") Pkg.instantiate() - using PlutoUI - using CairoMakie - using BenchmarkTools + using PlutoUI, CairoMakie, BenchmarkTools, Images, TestImages, ImageMorphology using DistanceTransforms end +# ╔═╡ c72ed485-d53d-4586-9b9c-e8a4d95f5bf1 +md""" +# Getting Started +""" + # ╔═╡ 32a932f4-cade-434f-a489-282bb909a04c md""" -## Import packages +## Import Packages First, let's import the most up-to-date version of DistanceTransforms.jl, which can be found on the main/master branch of the [GitHub repository](https://github.com/Dale-Black/DistanceTransforms.jl). Because we are using the unregistered version (most recent) we will need to `Pkg.add` this explicitly, without using Pluto's built-in package manager. Be aware, this can take a long time, especially if this is the first time being downloaded. Future work on this package will focus on improving this. To help with the formatting of this documentation we will also add [PlutoUI.jl](https://github.com/JuliaPluto/PlutoUI.jl). Lastly, to visualize results and time the functions were going to add [Makie.jl](https://github.com/JuliaPlots/Makie.jl) and [BenchmarkTools.jl](https://github.com/JuliaCI/BenchmarkTools.jl). """ +# ╔═╡ bb5f71db-9999-4104-9b1a-03a32cea035e +md""" +!!! info "Local Usage" + If you are running this notebook locally, you will want to install the necessary packages like so: + + ```julia + begin + using Pkg; Pkg.activate(temp = true) + Pkg.add(["PlutoUI", "CairoMakie", "BenchmarkTools", "Images", "TestImages"]) + Pkg.add(url = "https://github.com/Dale-Black/DistanceTransforms.jl") + + using PlutoUI, CairoMakie, BenchmarkTools, Images, TestImages + using DistanceTransforms + end + ``` +""" + # ╔═╡ c579c92a-3d1c-4213-82c5-cca54b5c0144 TableOfContents() # ╔═╡ 1b06308d-4084-4be8-9758-8052277e5ac1 md""" -## Quick start +## Introduction Distance transforms are an important part of many computer vision-related tasks. Let's create some sample data and see how DistanceTransforms.jl can be used to apply efficient distance transform operations on arrays in Julia. """ # ╔═╡ 97aad592-8362-48ce-87da-5ab3e8eb6f95 md""" -The quintessential distance transform operation in DistanceTransforms.jl is just a wrapper function combining the `feature_transform` and `distance_transform` functions from the excellent [ImageMorphology](https://github.com/JuliaImages/ImageMorphology.jl) package. -To utilize this in DistanceTransforms.jl all one must do is call `transform(x, Maurer())`, where `x` is any boolean or integer array of ones and zeros and `Maurer()` is what specifies that this transform operation is using the one described in Maurer, et. al which was written in ImageMorphology.jl +The quintessential distance transform operation in DistanceTransforms.jl is just `transform`. This takes an array of 0s and 1s and creates a new array, where every background element (0) is replaced with a number that corresponds to the distance to the nearest foreground element. Let's see this in action: """ # ╔═╡ 862747e5-e88f-47ab-bc97-f5a456738b22 -array1 = [ - 0 1 1 0 - 0 0 0 0 - 1 1 0 0 -] +arr = rand([0f0, 1f0], 20, 20) # ╔═╡ b9ba3bde-8779-4f3c-a3fb-ef157e121632 -transform(array1, Maurer()) +transform(boolean_indicator(arr)) # ╔═╡ b2d06446-991c-4311-993f-87ddef5e8828 md""" -As you can see, each element in the array is either zero (corresponding to background), which remains zero, or is one (corresponding to foreground) that then gets replaced by the Euclidean distance to the nearest zero. +As you can see, each element in the array is either zero (corresponding to background), which remains zero, or is one (corresponding to foreground) that then gets replaced by the squared Euclidean distance to the nearest zero. We can see this easily using Makie.jl. """ # ╔═╡ d3498bb0-6f8f-470a-b1de-b1760229cc1c -heatmap(array1, colormap=:grays) +heatmap(arr, colormap=:grays) # ╔═╡ ec3a90f1-f2d7-4d5a-8785-476073ee0079 -heatmap(transform(array1, Maurer()); colormap=:grays) +heatmap(transform(boolean_indicator(arr)); colormap=:grays) -# ╔═╡ 01752ec8-9917-4254-8c92-daed39aeea39 +# ╔═╡ cd89f08c-44b4-43f6-9313-b4737725b39a md""" -# `transform`s -The rest of the DistanceTransform.jl library is built around a common `transform` interface. Users can apply various distance transform algorithms to arrays all under one unified interface. -Let's examine two different options: +## Intermediate Usage + +Now, let's load an example image from the Images.jl library and see how a distane transform can be used (and visualized) on the sample image. +""" + +# ╔═╡ 158ef85a-28ef-4756-8120-53450f2ef7cd +img = load(download("http://docs.opencv.org/3.1.0/water_coins.jpg")); + +# ╔═╡ cf258b9d-e6bf-4128-b669-c8a5b91ecdef +img_bw = Gray.(img) .> 0.5; # theshold image + +# ╔═╡ 361835a4-eda2-4eed-a249-4c6cce212662 +img_tfm = transform(boolean_indicator(img_bw)); + +# ╔═╡ 80cbd0a5-5be1-4e7b-b54e-007f4ad0fb7d +let + f = Figure(resolution = (1000, 1000)) + ax = CairoMakie.Axis( + f[1:2, 1], + title = "Original Image", + ) + heatmap!(rotr90(img); colormap = :grays) + hidedecorations!(ax) + + ax = CairoMakie.Axis( + f[3:4, 1], + title = "Segmented Image", + ) + heatmap!(rotr90(img_bw); colormap = :grays) + hidedecorations!(ax) + + ax = CairoMakie.Axis( + f[2:3, 2], + title = "Distance Transformed Image", + ) + heatmap!(rotr90(img_tfm); colormap = :grays) + hidedecorations!(ax) + + f +end + +# ╔═╡ 2e06c9b5-1632-48ee-a045-bcdada5e8f91 +md""" +## Helpful Information """ # ╔═╡ bf546f09-7604-4f11-8676-34a7ac571780 md""" -## `Felzenszwalb` -This algorithm is based on the squared Euclidean distance transform, as described by [Felzenszwalb and -Huttenlocher] (DOI: 10.4086/toc.2012.v008a019) -We will use a similar approach to get started, with one extra step; the array must either be designated as a boolean indicator (meaning zeros correspond to background and ones correspond to foreground) or ignored. Most of the time the array should be considered a boolean indicator: +!!! info + This algorithm is based on the squared Euclidean distance transform, as described by [Felzenszwalb and + Huttenlocher] (DOI: 10.4086/toc.2012.v008a019). + + We will use a similar approach to get started, with one extra step; the array must first be passed through the `boolean_indicator()` function. This transforms the 0s and 1s to `Inf`s and `0`s. Specifically `0 => 1f10` and `1 => 0f0`. + + *Aside: `0f0` is the `Float32` version of `0.0`* + + + It should be clear to see that the transform returns the Euclidean distance, just squared. To find the true Euclidean distance, all one must do to get the true Euclidean distance take the square root of each element. In many cases, this is not necessary and can add time, which is why it is left optional. """ # ╔═╡ 77de39d7-5d30-410f-baa5-460ae2d8a4a3 @@ -92,40 +154,62 @@ array2 = [ # ╔═╡ 7c557d32-2bb8-47a2-8216-e18755d258c7 array2_bool = boolean_indicator(array2) -# ╔═╡ 00a4b3ed-ca0a-4c67-b400-cb9830dbbff2 -tfm2 = Felzenszwalb() - # ╔═╡ d6b06775-2ded-4e15-9616-f3e4653d1396 -sq_euc_transform = transform(array2_bool, tfm2) +sq_euc_transform = transform(array2_bool) -# ╔═╡ 5095c3e1-a873-4cec-988d-fb6bfa8a0aaa +# ╔═╡ 679125bf-af0e-4046-889e-7d58738b4ccc md""" -It should be clear to see that the `transform` returns the Euclidean distance, just squared. To find the true Euclidean distance, all one must do to get the true Euclidean distance take the square root of each element. In many cases, this is not necessary and can add time which is why it is left optional. +!!! info + It should be clear to see that the transform returns the Euclidean distance, just squared. To find the true Euclidean distance, all one must do to get the true Euclidean distance take the square root of each element. In many cases, this is not necessary and can add time, which is why it is left optional. """ # ╔═╡ 7597fa37-b406-4fca-8eaa-1627b1eb835d euc_transform = sqrt.(sq_euc_transform) -# ╔═╡ 46a38900-bf33-4f5c-a6e3-14f961403185 -euc_transform ≈ transform(array2, Maurer()) +# ╔═╡ 5c1a062d-d878-4540-b493-35498b36cb17 +md""" +!!! info + Now, we can also perform a distance transform operation using the ImageMorphology.jl. Let's do that now and show that the results are equivalent when using ImageMorphology's `distance_transform(feature_transform(...))` or DistanceTransform's `transform(feature_transform(...))`. Later, we will see some benefits to using DistanceTransforms.jl approach. +""" + +# ╔═╡ e49f34f6-2b22-42c4-9c16-e94f8ee2030a +euc_transform2 = distance_transform(feature_transform(Bool.(array2))) + +# ╔═╡ 26f4ca31-2e74-4231-9f94-c8bbbbd2fce7 +isapprox(euc_transform2, euc_transform; rtol = 1e-2) + +# ╔═╡ d167e25b-b1b1-46ef-a1cb-fd0856c2c685 +md""" +!!! info + The following notebooks will showcase some of the usefulness of DistanceTransforms.jl. Keep reading to see how this can be useful in deep learning and the like. +""" # ╔═╡ Cell order: +# ╟─c72ed485-d53d-4586-9b9c-e8a4d95f5bf1 # ╟─32a932f4-cade-434f-a489-282bb909a04c # ╠═26b9d680-1004-4440-a392-16c178230066 +# ╟─bb5f71db-9999-4104-9b1a-03a32cea035e # ╠═c579c92a-3d1c-4213-82c5-cca54b5c0144 # ╟─1b06308d-4084-4be8-9758-8052277e5ac1 # ╟─97aad592-8362-48ce-87da-5ab3e8eb6f95 # ╠═862747e5-e88f-47ab-bc97-f5a456738b22 # ╠═b9ba3bde-8779-4f3c-a3fb-ef157e121632 # ╟─b2d06446-991c-4311-993f-87ddef5e8828 -# ╠═d3498bb0-6f8f-470a-b1de-b1760229cc1c -# ╠═ec3a90f1-f2d7-4d5a-8785-476073ee0079 -# ╟─01752ec8-9917-4254-8c92-daed39aeea39 +# ╟─d3498bb0-6f8f-470a-b1de-b1760229cc1c +# ╟─ec3a90f1-f2d7-4d5a-8785-476073ee0079 +# ╟─cd89f08c-44b4-43f6-9313-b4737725b39a +# ╠═158ef85a-28ef-4756-8120-53450f2ef7cd +# ╠═cf258b9d-e6bf-4128-b669-c8a5b91ecdef +# ╠═361835a4-eda2-4eed-a249-4c6cce212662 +# ╟─80cbd0a5-5be1-4e7b-b54e-007f4ad0fb7d +# ╟─2e06c9b5-1632-48ee-a045-bcdada5e8f91 # ╟─bf546f09-7604-4f11-8676-34a7ac571780 # ╠═77de39d7-5d30-410f-baa5-460ae2d8a4a3 # ╠═7c557d32-2bb8-47a2-8216-e18755d258c7 -# ╠═00a4b3ed-ca0a-4c67-b400-cb9830dbbff2 # ╠═d6b06775-2ded-4e15-9616-f3e4653d1396 -# ╟─5095c3e1-a873-4cec-988d-fb6bfa8a0aaa +# ╟─679125bf-af0e-4046-889e-7d58738b4ccc # ╠═7597fa37-b406-4fca-8eaa-1627b1eb835d -# ╠═46a38900-bf33-4f5c-a6e3-14f961403185 +# ╟─5c1a062d-d878-4540-b493-35498b36cb17 +# ╠═e49f34f6-2b22-42c4-9c16-e94f8ee2030a +# ╠═26f4ca31-2e74-4231-9f94-c8bbbbd2fce7 +# ╟─d167e25b-b1b1-46ef-a1cb-fd0856c2c685 diff --git a/docs/05_benchmarks.jl b/docs/05_benchmarks.jl index 5165ea9..c49e2bc 100644 --- a/docs/05_benchmarks.jl +++ b/docs/05_benchmarks.jl @@ -1,5 +1,5 @@ ### A Pluto.jl notebook ### -# v0.19.26 +# v0.19.32 #> [frontmatter] #> title = "Benchmarks" @@ -14,12 +14,41 @@ begin using Pkg Pkg.activate(".") Pkg.instantiate() - - using PlutoUI + + # Import Comparison Distance Transforms + using DistanceTransformsPy: pytransform # Scipy + using ImageMorphology: distance_transform, feature_transform # ImageMorphology + + # Import Packages + using PlutoUI, BenchmarkTools, CairoMakie, Random + + # Import Various GPU packages + using KernelAbstractions + using CUDA, AMDGPU, Metal + using DistanceTransforms - using BenchmarkTools - using CairoMakie - using CUDA +end + +# ╔═╡ 7f3a06bd-195f-4732-8844-3bdafff90cce +if CUDA.functional() + @info "Using CUDA" + CUDA.versioninfo() + backend = CUDABackend() + dev = CuArray +elseif AMDGPU.functional() + @info "Using AMD" + AMDGPU.versioninfo() + backend = ROCBackend() + dev = ROCArray +elseif Metal.functional() + @info "Using Metal" + Metal.versioninfo() + backend = MetalBackend() + dev = MtlArray +else + @info "No GPU is available. Using CPU." + backend = CPU() + dev = Array end # ╔═╡ 4cd108b6-ec51-446a-b8e1-c52078a9e13d @@ -30,72 +59,46 @@ md""" ## 2D Benchmarks """ -# ╔═╡ 32029509-72ed-4f84-9c87-08d5046633f7 -num_range = range(1, 200, 4) - # ╔═╡ 967518da-7718-4f11-a5c2-8b65b9d5f8a3 -threads = Threads.nthreads() +Threads.nthreads() + +# ╔═╡ 32029509-72ed-4f84-9c87-08d5046633f7 +num_range = collect(10:200:1010) # ╔═╡ 75b7c7c5-baa0-43cd-a6c4-d69a6fa75b6a begin - edt_mean_2D = Float32[] - edt_std_2D = Float32[] - - sedt_mean_2D = Float32[] - sedt_std_2D = Float32[] - - sedt_threaded_mean_2D = Float32[] - sedt_threaded_std_2D = Float32[] - - sedt_gpu_mean = Float32[] - sedt_gpu_std = Float32[] + distance_transforms_2D = Float32[] + distance_transforms_gpu_2D = Float32[] + image_morphology_2D = Float32[] + scipy_2D = Float32[] sizes_2D = Float32[] - for n in num_range - n = Int(round(n)) @info n - _size = n^2 - append!(sizes_2D, _size) - - # EDT - f = Bool.(rand([0, 1], n, n)) - edt = @benchmark transform($f, $Maurer()) - - append!(edt_mean_2D, BenchmarkTools.mean(edt).time) - append!(edt_std_2D, BenchmarkTools.std(edt).time) - - # SEDT - f = Bool.(rand([0, 1], n, n)) - b_f = boolean_indicator(f) - tfm = Felzenszwalb() - sedt = @benchmark transform($b_f, $tfm) - - append!(sedt_mean_2D, BenchmarkTools.mean(sedt).time) - append!(sedt_std_2D, BenchmarkTools.std(sedt).time) + append!(sizes_2D, n^2) + f = Bool.(rand([0f0, 1f0], n, n)) + + # DistanceTransforms.jl + tfm = @benchmark transform($boolean_indicator($f)) + append!(distance_transforms_2D, BenchmarkTools.mean(tfm).time) + + # DistanceTransforms.jl GPU + if backend != CPU() + f_gpu = dev(rand([0f0, 1f0], n, n)) + tfm = @benchmark transform($f_gpu) + append!(distance_transforms_gpu_2D, BenchmarkTools.mean(tfm).time) + end - # SEDT Threaded - f = Bool.(rand([0, 1], n, n)) - b_f = boolean_indicator(f) - sedt_threaded = @benchmark transform($b_f, $tfm, $threads) + # ImageMorphology.jl + tfm = @benchmark distance_transform($feature_transform($f)) + append!(image_morphology_2D, BenchmarkTools.mean(tfm).time) - append!(sedt_threaded_mean_2D, BenchmarkTools.mean(sedt_threaded).time) - append!(sedt_threaded_std_2D, BenchmarkTools.std(sedt_threaded).time) - - if has_cuda_gpu() - # SEDT GPU - f = Bool.(rand([0, 1], n, n)) - b_f = CuArray(boolean_indicator(f)) - output, v, z = CUDA.zeros(size(f)), CUDA.ones(Int32, size(f)), CUDA.ones(size(f) .+ 1) - sedt_gpu = @benchmark transform($b_f, $tfm; output=$output, v=$v, z=$z) - - append!(sedt_gpu_mean, BenchmarkTools.mean(sedt_gpu).time) - append!(sedt_gpu_std, BenchmarkTools.std(sedt_gpu).time) - end + # Scipy + tfm = @benchmark pytransform($f) + append!(scipy_2D, BenchmarkTools.mean(tfm).time) end end - # ╔═╡ deb92c24-d289-41e2-b013-533dc636bfe9 let f = Figure() @@ -106,13 +109,12 @@ let ylabel = "Time (ns)" ) - scatterlines!(sizes_2D, edt_mean_2D, label = "Maurer") - scatterlines!(sizes_2D, sedt_mean_2D, label = "Felzenszwalb") - scatterlines!(sizes_2D, sedt_threaded_mean_2D, label = "Felzenszwalb Threaded") - - if has_cuda_gpu() - scatter!(sizes_2D, sedt_gpu_mean, label = "Felzenszwalb GPU") + scatterlines!(sizes_2D, distance_transforms_2D, label = "DistanceTransforms.jl") + if backend != CPU() + scatterlines!(sizes_2D, distance_transforms_gpu_2D, label = "DistanceTransforms.jl (GPU)") end + scatterlines!(sizes_2D, image_morphology_2D, label = "ImageMorphology.jl") + scatterlines!(sizes_2D, scipy_2D, label = "Scipy") axislegend(ax; position = :lt) @@ -124,69 +126,71 @@ md""" ## 3D Benchmarks """ +# ╔═╡ f00f036e-a9e3-48c0-a278-26636b89944c +collect(10:20:110) + # ╔═╡ 63223fd0-b173-4f3b-ba80-12cbf52fe035 -num_range2 = range(1, 100, 4) +num_range2 = collect(10:20:110) -# ╔═╡ 5a93c54e-7afe-4fa9-8923-7f9e127932ea +# ╔═╡ 6a4e4d88-b7d8-4b7b-8237-94ca6a7bce6b begin - edt_mean_3D = Float32[] - edt_std_3D = Float32[] - - sedt_mean_3D = Float32[] - sedt_std_3D = Float32[] - - sedt_threaded_mean_3D = Float32[] - sedt_threaded_std_3D = Float32[] - - sedt_gpu_mean_3D = Float32[] - sedt_gpu_std_3D = Float32[] + distance_transforms_3D = Float32[] + distance_transforms_gpu_3D = Float32[] + image_morphology_3D = Float32[] + scipy_3D = Float32[] sizes_3D = Float32[] - for n in num_range2 - n = Int(round(n)) @info n - _size = n^3 - append!(sizes_3D, _size) - - # EDT - f = Bool.(rand([0, 1], n, n, n)) - edt = @benchmark transform($f, $Maurer()) - - append!(edt_mean_3D, BenchmarkTools.mean(edt).time) - append!(edt_std_3D, BenchmarkTools.std(edt).time) - - # SEDT - f = Bool.(rand([0, 1], n, n, n)) - b_f = boolean_indicator(f) - tfm = Felzenszwalb() - sedt = @benchmark transform($b_f, $tfm) - - append!(sedt_mean_3D, BenchmarkTools.mean(sedt).time) - append!(sedt_std_3D, BenchmarkTools.std(sedt).time) + append!(sizes_3D, n^3) # Changed to n^3 for 3D + f = Bool.(rand([0f0, 1f0], n, n, n)) # 3D array + + # DistanceTransforms.jl + tfm = @benchmark transform($boolean_indicator($f)) + append!(distance_transforms_3D, BenchmarkTools.mean(tfm).time) + + # # DistanceTransforms.jl GPU + # if backend != CPU() + # f_gpu = dev(rand([0f0, 1f0], n, n, n)) # 3D array for GPU + # tfm = @benchmark transform($f_gpu) + # append!(distance_transforms_gpu_3D, BenchmarkTools.mean(tfm).time) + # end - # SEDT Threaded - f = Bool.(rand([0, 1], n, n, n)) - b_f = boolean_indicator(f) - sedt_threaded = @benchmark transform($b_f, $tfm, $threads) + # ImageMorphology.jl + tfm = @benchmark distance_transform($feature_transform($f)) + append!(image_morphology_3D, BenchmarkTools.mean(tfm).time) - append!(sedt_threaded_mean_3D, BenchmarkTools.mean(sedt_threaded).time) - append!(sedt_threaded_std_3D, BenchmarkTools.std(sedt_threaded).time) - - if has_cuda_gpu() - # SEDT GPU - f = Bool.(rand([0, 1], n, n, n)) - b_f = CuArray(boolean_indicator(f)) - output, v, z = CUDA.zeros(size(f)), CUDA.ones(Int32, size(f)), CUDA.ones(size(f) .+ 1) - sedt_gpu_3D = @benchmark transform($b_f, $tfm; output=$output, v=$v, z=$z) - - append!(sedt_gpu_mean_3D, BenchmarkTools.mean(sedt_gpu_3D).time) - append!(sedt_gpu_std_3D, BenchmarkTools.std(sedt_gpu_3D).time) - end + # Scipy + tfm = @benchmark pytransform($f) + append!(scipy_3D, BenchmarkTools.mean(tfm).time) end end +# ╔═╡ 42578312-87f1-4091-80c7-046f398dd767 +let + f = Figure() + ax = Axis( + f[1, 1], + title = "Distance Transforms (3D)", + xlabel = "Number of Elements", + ylabel = "Time (ns)" + ) + + scatterlines!(sizes_3D, distance_transforms_3D, label = "DistanceTransforms.jl") + # if backend != CPU() + # scatterlines!(sizes_3D, distance_transforms_gpu_3D, label = "DistanceTransforms.jl (GPU)") + # end + scatterlines!(sizes_3D, image_morphology_3D, label = "ImageMorphology.jl") + scatterlines!(sizes_3D, scipy_3D, label = "Scipy") + + axislegend(ax; position = :lt) + + f +end + # ╔═╡ adaae214-221e-419e-97ac-09fbb06e66a3 +# ╠═╡ disabled = true +#=╠═╡ let f = Figure() ax = Axis( @@ -208,16 +212,20 @@ let f end + ╠═╡ =# # ╔═╡ Cell order: # ╠═39846dfe-2bcf-11ed-1ec9-11cd75a2608e +# ╠═7f3a06bd-195f-4732-8844-3bdafff90cce # ╠═4cd108b6-ec51-446a-b8e1-c52078a9e13d # ╟─6f771ea0-dcf7-4528-84d5-e29da66de753 -# ╠═32029509-72ed-4f84-9c87-08d5046633f7 # ╠═967518da-7718-4f11-a5c2-8b65b9d5f8a3 +# ╠═32029509-72ed-4f84-9c87-08d5046633f7 # ╠═75b7c7c5-baa0-43cd-a6c4-d69a6fa75b6a # ╟─deb92c24-d289-41e2-b013-533dc636bfe9 # ╟─169156d8-2188-44eb-8cdb-97f6ed582cce +# ╠═f00f036e-a9e3-48c0-a278-26636b89944c # ╠═63223fd0-b173-4f3b-ba80-12cbf52fe035 -# ╠═5a93c54e-7afe-4fa9-8923-7f9e127932ea +# ╠═6a4e4d88-b7d8-4b7b-8237-94ca6a7bce6b +# ╠═42578312-87f1-4091-80c7-046f398dd767 # ╟─adaae214-221e-419e-97ac-09fbb06e66a3 diff --git a/docs/Manifest.toml b/docs/Manifest.toml index 6a3044f..92df88d 100644 --- a/docs/Manifest.toml +++ b/docs/Manifest.toml @@ -2,7 +2,13 @@ julia_version = "1.9.3" manifest_format = "2.0" -project_hash = "b7e4e87709cfb11b590014f2afb1c550681dcaf6" +project_hash = "6260313b48f21f848c45f08ff2cbb7e21ddceef1" + +[[deps.AMDGPU]] +deps = ["AbstractFFTs", "Adapt", "CEnum", "ExprTools", "GPUArrays", "GPUCompiler", "HIP_jll", "KernelAbstractions", "LLD_jll", "LLVM", "LLVM_jll", "Libdl", "LinearAlgebra", "MacroTools", "Pkg", "Preferences", "Printf", "ROCmDeviceLibs_jll", "Random", "SparseArrays", "SpecialFunctions", "Statistics", "UnsafeAtomicsLLVM", "hsa_rocr_jll"] +git-tree-sha1 = "e3c9be202f7282a679fe42aa8e7ce6d6cb661f05" +uuid = "21141c5a-9bdb-4563-92ae-f87d6854732e" +version = "0.7.3" [[deps.AbstractFFTs]] deps = ["LinearAlgebra"] @@ -33,9 +39,9 @@ version = "0.4.4" [[deps.Adapt]] deps = ["LinearAlgebra", "Requires"] -git-tree-sha1 = "76289dc51920fdc6e0013c872ba9551d54961c24" +git-tree-sha1 = "02f731463748db57cc2ebfbd9fbc9ce8280d3433" uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "3.6.2" +version = "3.7.1" weakdeps = ["StaticArrays"] [deps.Adapt.extensions] @@ -47,20 +53,21 @@ git-tree-sha1 = "e81c509d2c8e49592413bfb0bb3b08150056c79d" uuid = "27a7e980-b3e6-11e9-2bcd-0b925532e340" version = "0.4.1" -[[deps.ArgCheck]] -git-tree-sha1 = "a3a402a35a2f7e0b87828ccabbd5ebfbebe356b4" -uuid = "dce04be8-c92d-5529-be00-80e4d2c0e197" -version = "2.3.0" - [[deps.ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" version = "1.1.1" +[[deps.ArnoldiMethod]] +deps = ["LinearAlgebra", "Random", "StaticArrays"] +git-tree-sha1 = "62e51b39331de8911e4a7ff6f5aaf38a5f4cc0ae" +uuid = "ec485272-7323-5ecc-a04f-4719b315124d" +version = "0.2.0" + [[deps.ArrayInterface]] deps = ["Adapt", "LinearAlgebra", "Requires", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "f83ec24f76d4c8f525099b2ac475fc098138ec31" +git-tree-sha1 = "16267cf279190ca7c1b30d020758ced95db89cd0" uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.4.11" +version = "7.5.1" [deps.ArrayInterface.extensions] ArrayInterfaceBandedMatricesExt = "BandedMatrices" @@ -78,12 +85,6 @@ version = "7.4.11" StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" -[[deps.ArrayInterfaceCore]] -deps = ["LinearAlgebra", "SnoopPrecompile", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "e5f08b5689b1aad068e01751889f2f615c7db36d" -uuid = "30b0a656-2188-435a-8636-2ec0e6a096e2" -version = "0.1.29" - [[deps.Artifacts]] uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" @@ -117,34 +118,9 @@ git-tree-sha1 = "dbf84058d0a8cbbadee18d25cf606934b22d7c66" uuid = "ab4f0b2a-ad5b-11e8-123f-65d77653426b" version = "0.4.2" -[[deps.BangBang]] -deps = ["Compat", "ConstructionBase", "InitialValues", "LinearAlgebra", "Requires", "Setfield", "Tables"] -git-tree-sha1 = "e28912ce94077686443433c2800104b061a827ed" -uuid = "198e06fe-97b7-11e9-32a5-e1d131e6ad66" -version = "0.3.39" - - [deps.BangBang.extensions] - BangBangChainRulesCoreExt = "ChainRulesCore" - BangBangDataFramesExt = "DataFrames" - BangBangStaticArraysExt = "StaticArrays" - BangBangStructArraysExt = "StructArrays" - BangBangTypedTablesExt = "TypedTables" - - [deps.BangBang.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" - TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" - [[deps.Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" -[[deps.Baselet]] -git-tree-sha1 = "aebf55e6d7795e02ca500a689d326ac979aaf89e" -uuid = "9718e550-a3fa-408a-8086-8db961cd8217" -version = "0.1.1" - [[deps.BenchmarkTools]] deps = ["JSON", "Logging", "Printf", "Profile", "Statistics", "UUIDs"] git-tree-sha1 = "d9a9701b899b30332bbcb3e1679c41cce81fb0e8" @@ -190,20 +166,21 @@ uuid = "4e9b3aee-d8a1-5a3d-ad8b-7d824db253f0" version = "1.0.1+0" [[deps.CUDA]] -deps = ["AbstractFFTs", "Adapt", "BFloat16s", "CEnum", "CUDA_Driver_jll", "CUDA_Runtime_Discovery", "CUDA_Runtime_jll", "Crayons", "DataFrames", "ExprTools", "GPUArrays", "GPUCompiler", "KernelAbstractions", "LLVM", "LazyArtifacts", "Libdl", "LinearAlgebra", "Logging", "NVTX", "Preferences", "PrettyTables", "Printf", "Random", "Random123", "RandomNumbers", "Reexport", "Requires", "SparseArrays", "Statistics", "UnsafeAtomicsLLVM"] -git-tree-sha1 = "f062a48c26ae027f70c44f48f244862aec47bf99" +deps = ["AbstractFFTs", "Adapt", "BFloat16s", "CEnum", "CUDA_Driver_jll", "CUDA_Runtime_Discovery", "CUDA_Runtime_jll", "Crayons", "DataFrames", "ExprTools", "GPUArrays", "GPUCompiler", "KernelAbstractions", "LLVM", "LLVMLoopInfo", "LazyArtifacts", "Libdl", "LinearAlgebra", "Logging", "NVTX", "Preferences", "PrettyTables", "Printf", "Random", "Random123", "RandomNumbers", "Reexport", "Requires", "SparseArrays", "Statistics", "UnsafeAtomicsLLVM"] +git-tree-sha1 = "64461b0e9df3069248979113ce8ab6d11bd371cf" uuid = "052768ef-5323-5732-b1bb-66c8b64840ba" -version = "5.0.0" -weakdeps = ["SpecialFunctions"] +version = "5.1.0" +weakdeps = ["ChainRulesCore", "SpecialFunctions"] [deps.CUDA.extensions] + ChainRulesCoreExt = "ChainRulesCore" SpecialFunctionsExt = "SpecialFunctions" [[deps.CUDA_Driver_jll]] deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] -git-tree-sha1 = "35a37bb72b35964f2895c12c687ae263b4ac170c" +git-tree-sha1 = "1e42ef1bdb45487ff28de16182c0df4920181dc3" uuid = "4ee394cb-3365-5eb0-8335-949819d2adfc" -version = "0.6.0+3" +version = "0.7.0+0" [[deps.CUDA_Runtime_Discovery]] deps = ["Libdl"] @@ -213,9 +190,9 @@ version = "0.2.2" [[deps.CUDA_Runtime_jll]] deps = ["Artifacts", "CUDA_Driver_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] -git-tree-sha1 = "178a606891f82b6d734f0eadd5336b7aad44d5df" +git-tree-sha1 = "92394521ec4582c11d089a3b15b76ef2cb850994" uuid = "76a88914-d11a-5bdc-97e0-2f5a05c973a2" -version = "0.9.2+1" +version = "0.10.0+1" [[deps.Cairo]] deps = ["Cairo_jll", "Colors", "Glib_jll", "Graphics", "Libdl", "Pango_jll"] @@ -241,11 +218,21 @@ git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad" uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" version = "0.5.1" +[[deps.CatIndices]] +deps = ["CustomUnitRanges", "OffsetArrays"] +git-tree-sha1 = "a0f80a09780eed9b1d106a1bf62041c2efc995bc" +uuid = "aafaddc9-749c-510e-ac4f-586e18779b91" +version = "0.2.2" + [[deps.ChainRulesCore]] -deps = ["Compat", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "e30f2f4e20f7f186dc36529910beaedc60cfa644" +deps = ["Compat", "LinearAlgebra"] +git-tree-sha1 = "e0af648f0692ec1691b5d094b8724ba1346281cf" uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.16.0" +version = "1.18.0" +weakdeps = ["SparseArrays"] + + [deps.ChainRulesCore.extensions] + ChainRulesCoreSparseArraysExt = "SparseArrays" [[deps.CloseOpenIntervals]] deps = ["Static", "StaticArrayInterface"] @@ -253,6 +240,12 @@ git-tree-sha1 = "70232f82ffaab9dc52585e0dd043b5e0c6b714f1" uuid = "fb6a15b2-703c-40df-9091-08a04967cfa9" version = "0.1.12" +[[deps.Clustering]] +deps = ["Distances", "LinearAlgebra", "NearestNeighbors", "Printf", "Random", "SparseArrays", "Statistics", "StatsBase"] +git-tree-sha1 = "05f9816a77231b07e634ab8715ba50e5249d6f76" +uuid = "aaaa29a8-35af-508c-8bc3-b662a17a0fe5" +version = "0.15.5" + [[deps.ColorBrewer]] deps = ["Colors", "JSON", "Test"] git-tree-sha1 = "61c5334f33d91e570e1d0c3eb5465835242582c4" @@ -309,16 +302,16 @@ deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" version = "1.0.5+0" -[[deps.CompositionsBase]] -git-tree-sha1 = "802bb88cd69dfd1509f6670416bd4434015693ad" -uuid = "a33af91c-f02d-484b-be07-31d278c5ca2b" -version = "0.1.2" - - [deps.CompositionsBase.extensions] - CompositionsBaseInverseFunctionsExt = "InverseFunctions" +[[deps.ComputationalResources]] +git-tree-sha1 = "52cb3ec90e8a8bea0e62e275ba577ad0f74821f7" +uuid = "ed09eef8-17a6-5b46-8889-db040fac31e3" +version = "0.3.2" - [deps.CompositionsBase.weakdeps] - InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" +[[deps.CondaPkg]] +deps = ["JSON3", "Markdown", "MicroMamba", "Pidfile", "Pkg", "Preferences", "TOML"] +git-tree-sha1 = "e81c4263c7ef4eca4d645ef612814d72e9255b41" +uuid = "992eb4ea-22a4-4c89-a5bb-47a3300528ab" +version = "0.2.22" [[deps.ConstructionBase]] deps = ["LinearAlgebra"] @@ -331,17 +324,17 @@ weakdeps = ["IntervalSets", "StaticArrays"] ConstructionBaseIntervalSetsExt = "IntervalSets" ConstructionBaseStaticArraysExt = "StaticArrays" -[[deps.ContextVariablesX]] -deps = ["Compat", "Logging", "UUIDs"] -git-tree-sha1 = "25cc3803f1030ab855e383129dcd3dc294e322cc" -uuid = "6add18c4-b38d-439d-96f6-d6bc489c04c5" -version = "0.1.3" - [[deps.Contour]] git-tree-sha1 = "d05d9e7b7aedff4e5b51a029dced05cfb6125781" uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" version = "0.6.2" +[[deps.CoordinateTransformations]] +deps = ["LinearAlgebra", "StaticArrays"] +git-tree-sha1 = "f9d7112bfff8a19a3a4ea4e03a8e6a91fe8456bf" +uuid = "150eb455-5306-5404-9cee-2592286d6298" +version = "0.6.3" + [[deps.CpuId]] deps = ["Markdown"] git-tree-sha1 = "fcbb72b032692610bfbdb15018ac16a36cf2e406" @@ -353,6 +346,11 @@ git-tree-sha1 = "249fe38abf76d48563e2f4556bebd215aa317e15" uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" version = "4.1.1" +[[deps.CustomUnitRanges]] +git-tree-sha1 = "1a3f97f907e6dd8983b744d2642651bb162a3f7a" +uuid = "dc8bdbbb-1ca9-579f-8c36-e416f6a65cce" +version = "1.0.2" + [[deps.DataAPI]] git-tree-sha1 = "8da84edb865b0b5b0100c0666a9bc9a0b71c553c" uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" @@ -379,16 +377,11 @@ version = "1.0.0" deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" -[[deps.DefineSingletons]] -git-tree-sha1 = "0fba8b706d0178b4dc7fd44a96a92382c9065c2c" -uuid = "244e2a9f-e319-4986-a169-4d1fe445cd52" -version = "0.1.2" - [[deps.DelaunayTriangulation]] deps = ["DataStructures", "EnumX", "ExactPredicates", "Random", "SimpleGraphs"] -git-tree-sha1 = "bea7984f7e09aeb28a3b071c420a0186cb4fabad" +git-tree-sha1 = "7cb0d72a53c1d93665eeadfa9d51af9df60bf6b2" uuid = "927a84f5-c5f4-47a5-9785-b46e178433df" -version = "0.8.8" +version = "0.8.10" [[deps.DiffResults]] deps = ["StaticArraysCore"] @@ -403,28 +396,51 @@ uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" version = "1.15.1" [[deps.DistanceTransforms]] -deps = ["CUDA", "FLoops", "ImageMorphology", "LoopVectorization"] -git-tree-sha1 = "7e837ad80bb0e3532e637a65c7252a1c5d554cf1" +deps = ["GPUArraysCore", "KernelAbstractions", "LoopVectorization"] +git-tree-sha1 = "78d24c6fabfa651c61bc3c85ea724beb7620d01f" +repo-rev = "master" +repo-url = "https://github.com/Dale-Black/DistanceTransforms.jl.git" uuid = "71182807-4d06-4237-8dd0-bdafe4d097e2" version = "0.2.0" +[[deps.DistanceTransformsPy]] +deps = ["CondaPkg", "PythonCall"] +git-tree-sha1 = "9895162cca3f65f8adfe79053beb8f1d0c50f5c3" +repo-rev = "main" +repo-url = "https://github.com/Dale-Black/DistanceTransformsPy.jl" +uuid = "d85f584c-7717-483c-8218-10621e78a8b8" +version = "0.1.0" + +[[deps.Distances]] +deps = ["LinearAlgebra", "Statistics", "StatsAPI"] +git-tree-sha1 = "5225c965635d8c21168e32a12954675e7bea1151" +uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" +version = "0.10.10" +weakdeps = ["ChainRulesCore", "SparseArrays"] + + [deps.Distances.extensions] + DistancesChainRulesCoreExt = "ChainRulesCore" + DistancesSparseArraysExt = "SparseArrays" + [[deps.Distributed]] deps = ["Random", "Serialization", "Sockets"] uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" [[deps.Distributions]] -deps = ["FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns", "Test"] -git-tree-sha1 = "3d5873f811f582873bb9871fc9c451784d5dc8c7" +deps = ["FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns"] +git-tree-sha1 = "a6c00f894f24460379cb7136633cef54ac9f6f4a" uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" -version = "0.25.102" +version = "0.25.103" [deps.Distributions.extensions] DistributionsChainRulesCoreExt = "ChainRulesCore" DistributionsDensityInterfaceExt = "DensityInterface" + DistributionsTestExt = "Test" [deps.Distributions.weakdeps] ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" DensityInterface = "b429d917-457f-4dbc-8f4c-0cc954292b1d" + Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [[deps.DocStringExtensions]] deps = ["LibGit2"] @@ -449,6 +465,12 @@ git-tree-sha1 = "e3290f2d49e661fbd94046d7e3726ffcb2d41053" uuid = "5ae413db-bbd1-5e63-b57d-d24a61df00f5" version = "2.2.4+0" +[[deps.Elfutils_jll]] +deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "XZ_jll", "Zlib_jll", "argp_standalone_jll", "fts_jll", "obstack_jll"] +git-tree-sha1 = "ab92028799ddede63b16af075f8a053a2af04339" +uuid = "ab5a07f8-06af-567f-a878-e8bb879eba5a" +version = "0.189.0+1" + [[deps.EnumX]] git-tree-sha1 = "bdb1942cd4c45e3c678fd11569d5cccd80976237" uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" @@ -460,10 +482,10 @@ uuid = "90fa49ef-747e-5e6f-a989-263ba693cf1a" version = "0.5.2" [[deps.ExactPredicates]] -deps = ["IntervalArithmetic", "Random", "StaticArraysCore", "Test"] -git-tree-sha1 = "276e83bc8b21589b79303b9985c321024ffdf59c" +deps = ["IntervalArithmetic", "Random", "StaticArraysCore"] +git-tree-sha1 = "499b1ca78f6180c8f8bdf1cabde2d39120229e5c" uuid = "429591f6-91af-11e9-00e2-59fbe8cec110" -version = "2.2.5" +version = "2.2.6" [[deps.Expat_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -477,15 +499,21 @@ uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" version = "0.1.10" [[deps.Extents]] -git-tree-sha1 = "5e1e4c53fa39afe63a7d356e30452249365fba99" +git-tree-sha1 = "2140cd04483da90b2da7f99b2add0750504fc39c" uuid = "411431e0-e8b7-467b-b5e0-f676ba4f2910" -version = "0.1.1" +version = "0.1.2" [[deps.FFMPEG_jll]] -deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] -git-tree-sha1 = "466d45dc38e15794ec7d5d63ec03d776a9aff36e" +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Pkg", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] +git-tree-sha1 = "74faea50c1d007c85837327f6775bea60b5492dd" uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" -version = "4.4.4+1" +version = "4.4.2+2" + +[[deps.FFTViews]] +deps = ["CustomUnitRanges", "FFTW"] +git-tree-sha1 = "cbdf14d1e8c7c8aacbe8b19862e0179fd08321c2" +uuid = "4f61f5a4-77b1-5117-aa51-3ab5ef4ef0cd" +version = "0.3.2" [[deps.FFTW]] deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] @@ -499,18 +527,6 @@ git-tree-sha1 = "c6033cc3892d0ef5bb9cd29b7f2f0331ea5184ea" uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a" version = "3.3.10+0" -[[deps.FLoops]] -deps = ["BangBang", "Compat", "FLoopsBase", "InitialValues", "JuliaVariables", "MLStyle", "Serialization", "Setfield", "Transducers"] -git-tree-sha1 = "ffb97765602e3cbe59a0589d237bf07f245a8576" -uuid = "cc61a311-1640-44b5-9fba-1b764f453329" -version = "0.2.1" - -[[deps.FLoopsBase]] -deps = ["ContextVariablesX"] -git-tree-sha1 = "656f7a6859be8673bf1f35da5670246b923964f7" -uuid = "b9860ae5-e623-471e-878b-f6a53c775ea6" -version = "0.1.1" - [[deps.FastRounding]] deps = ["ErrorfreeArithmetic", "LinearAlgebra"] git-tree-sha1 = "6344aa18f654196be82e62816935225b3b9abe44" @@ -528,9 +544,9 @@ uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" [[deps.FillArrays]] deps = ["LinearAlgebra", "Random"] -git-tree-sha1 = "a20eaa3ad64254c61eeb5f230d9306e937405434" +git-tree-sha1 = "35f0c0f345bff2c6d636f95fdb136323b5a796ef" uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "1.6.1" +version = "1.7.0" weakdeps = ["SparseArrays", "Statistics"] [deps.FillArrays.extensions] @@ -611,9 +627,9 @@ uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" [[deps.GPUArrays]] deps = ["Adapt", "GPUArraysCore", "LLVM", "LinearAlgebra", "Printf", "Random", "Reexport", "Serialization", "Statistics"] -git-tree-sha1 = "8ad8f375ae365aa1eb2f42e2565a40b55a4b69a8" +git-tree-sha1 = "85d7fb51afb3def5dcb85ad31c3707795c8bccc1" uuid = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" -version = "9.0.0" +version = "9.1.0" [[deps.GPUArraysCore]] deps = ["Adapt"] @@ -663,6 +679,12 @@ git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" version = "1.3.14+0" +[[deps.Graphs]] +deps = ["ArnoldiMethod", "Compat", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"] +git-tree-sha1 = "899050ace26649433ef1af25bc17a815b3db52b7" +uuid = "86223c79-3864-5bf0-83f7-82e725a168b6" +version = "1.9.0" + [[deps.GridLayoutBase]] deps = ["GeometryBasics", "InteractiveUtils", "Observables"] git-tree-sha1 = "f57a64794b336d4990d90f80b147474b869b1bc4" @@ -674,6 +696,12 @@ git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" version = "1.0.2" +[[deps.HIP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "ROCmCompilerSupport_jll", "ROCmDeviceLibs_jll", "ROCmOpenCLRuntime_jll", "hsa_rocr_jll", "hsakmt_roct_jll", "rocminfo_jll"] +git-tree-sha1 = "6b91ab9bea10197163cb19ee57e52a1ebe0b28dc" +uuid = "2696aab5-0948-5276-aa9a-2a86a37016b8" +version = "5.4.4+0" + [[deps.HTMLStrings]] git-tree-sha1 = "233342ddddf3d56bca64419e7f6b596b3d3e21f0" repo-rev = "main" @@ -687,6 +715,12 @@ git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" version = "2.8.1+1" +[[deps.HistogramThresholding]] +deps = ["ImageBase", "LinearAlgebra", "MappedArrays"] +git-tree-sha1 = "7194dfbb2f8d945abdaf68fa9480a965d6661e69" +uuid = "2c695a8d-9458-5d45-9878-1b8a99cf7853" +version = "0.3.1" + [[deps.HostCPUFeatures]] deps = ["BitTwiddlingConvenienceFunctions", "IfElse", "Libdl", "Static"] git-tree-sha1 = "eb8fed28f4994600e29beef49744639d985a04b2" @@ -707,9 +741,9 @@ version = "0.0.4" [[deps.HypertextLiteral]] deps = ["Tricks"] -git-tree-sha1 = "c47c5fa4c5308f27ccaac35504858d8914e102f9" +git-tree-sha1 = "7134810b1afce04bbc1045ca1985fbe81ce17653" uuid = "ac1192a8-f4b3-4bfe-ba22-af5b92cd3ab2" -version = "0.9.4" +version = "0.9.5" [[deps.IOCapture]] deps = ["Logging", "Random"] @@ -734,18 +768,60 @@ git-tree-sha1 = "b51bb8cae22c66d0f6357e3bcb6363145ef20835" uuid = "c817782e-172a-44cc-b673-b171935fbb9e" version = "0.1.5" +[[deps.ImageBinarization]] +deps = ["HistogramThresholding", "ImageCore", "LinearAlgebra", "Polynomials", "Reexport", "Statistics"] +git-tree-sha1 = "f5356e7203c4a9954962e3757c08033f2efe578a" +uuid = "cbc4b850-ae4b-5111-9e64-df94c024a13d" +version = "0.3.0" + +[[deps.ImageContrastAdjustment]] +deps = ["ImageBase", "ImageCore", "ImageTransformations", "Parameters"] +git-tree-sha1 = "eb3d4365a10e3f3ecb3b115e9d12db131d28a386" +uuid = "f332f351-ec65-5f6a-b3d1-319c6670881a" +version = "0.3.12" + [[deps.ImageCore]] deps = ["AbstractFFTs", "ColorVectorSpace", "Colors", "FixedPointNumbers", "Graphics", "MappedArrays", "MosaicViews", "OffsetArrays", "PaddedViews", "Reexport"] git-tree-sha1 = "acf614720ef026d38400b3817614c45882d75500" uuid = "a09fc81d-aa75-5fe9-8630-4744c3626534" version = "0.9.4" +[[deps.ImageCorners]] +deps = ["ImageCore", "ImageFiltering", "PrecompileTools", "StaticArrays", "StatsBase"] +git-tree-sha1 = "24c52de051293745a9bad7d73497708954562b79" +uuid = "89d5987c-236e-4e32-acd0-25bd6bd87b70" +version = "0.1.3" + +[[deps.ImageDistances]] +deps = ["Distances", "ImageCore", "ImageMorphology", "LinearAlgebra", "Statistics"] +git-tree-sha1 = "08b0e6354b21ef5dd5e49026028e41831401aca8" +uuid = "51556ac3-7006-55f5-8cb3-34580c88182d" +version = "0.2.17" + +[[deps.ImageFiltering]] +deps = ["CatIndices", "ComputationalResources", "DataStructures", "FFTViews", "FFTW", "ImageBase", "ImageCore", "LinearAlgebra", "OffsetArrays", "PrecompileTools", "Reexport", "SparseArrays", "StaticArrays", "Statistics", "TiledIteration"] +git-tree-sha1 = "3447781d4c80dbe6d71d239f7cfb1f8049d4c84f" +uuid = "6a3955dd-da59-5b1f-98d4-e7296123deb5" +version = "0.7.6" + [[deps.ImageIO]] deps = ["FileIO", "IndirectArrays", "JpegTurbo", "LazyModules", "Netpbm", "OpenEXR", "PNGFiles", "QOI", "Sixel", "TiffImages", "UUIDs"] git-tree-sha1 = "bca20b2f5d00c4fbc192c3212da8fa79f4688009" uuid = "82e4d734-157c-48bb-816b-45c225c6df19" version = "0.6.7" +[[deps.ImageMagick]] +deps = ["FileIO", "ImageCore", "ImageMagick_jll", "InteractiveUtils"] +git-tree-sha1 = "b0b765ff0b4c3ee20ce6740d843be8dfce48487c" +uuid = "6218d12a-5da1-5696-b52f-db25d2ecc6d1" +version = "1.3.0" + +[[deps.ImageMagick_jll]] +deps = ["JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pkg", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "1c0a2295cca535fabaf2029062912591e9b61987" +uuid = "c73af94c-d91f-53ed-93a7-00f77d67a9d7" +version = "6.9.10-12+3" + [[deps.ImageMetadata]] deps = ["AxisArrays", "ImageAxes", "ImageBase", "ImageCore"] git-tree-sha1 = "355e2b974f2e3212a75dfb60519de21361ad3cb7" @@ -758,6 +834,36 @@ git-tree-sha1 = "6f0a801136cb9c229aebea0df296cdcd471dbcd1" uuid = "787d08f9-d448-5407-9aad-5290dd7ab264" version = "0.4.5" +[[deps.ImageQualityIndexes]] +deps = ["ImageContrastAdjustment", "ImageCore", "ImageDistances", "ImageFiltering", "LazyModules", "OffsetArrays", "PrecompileTools", "Statistics"] +git-tree-sha1 = "783b70725ed326340adf225be4889906c96b8fd1" +uuid = "2996bd0c-7a13-11e9-2da2-2f5ce47296a9" +version = "0.3.7" + +[[deps.ImageSegmentation]] +deps = ["Clustering", "DataStructures", "Distances", "Graphs", "ImageCore", "ImageFiltering", "ImageMorphology", "LinearAlgebra", "MetaGraphs", "RegionTrees", "SimpleWeightedGraphs", "StaticArrays", "Statistics"] +git-tree-sha1 = "44664eea5408828c03e5addb84fa4f916132fc26" +uuid = "80713f31-8817-5129-9cf8-209ff8fb23e1" +version = "1.8.1" + +[[deps.ImageShow]] +deps = ["Base64", "ColorSchemes", "FileIO", "ImageBase", "ImageCore", "OffsetArrays", "StackViews"] +git-tree-sha1 = "3b5344bcdbdc11ad58f3b1956709b5b9345355de" +uuid = "4e3cecfd-b093-5904-9786-8bbb286a6a31" +version = "0.3.8" + +[[deps.ImageTransformations]] +deps = ["AxisAlgorithms", "CoordinateTransformations", "ImageBase", "ImageCore", "Interpolations", "OffsetArrays", "Rotations", "StaticArrays"] +git-tree-sha1 = "7ec124670cbce8f9f0267ba703396960337e54b5" +uuid = "02fcd773-0e25-5acc-982a-7f6622650795" +version = "0.10.0" + +[[deps.Images]] +deps = ["Base64", "FileIO", "Graphics", "ImageAxes", "ImageBase", "ImageBinarization", "ImageContrastAdjustment", "ImageCore", "ImageCorners", "ImageDistances", "ImageFiltering", "ImageIO", "ImageMagick", "ImageMetadata", "ImageMorphology", "ImageQualityIndexes", "ImageSegmentation", "ImageShow", "ImageTransformations", "IndirectArrays", "IntegralArrays", "Random", "Reexport", "SparseArrays", "StaticArrays", "Statistics", "StatsBase", "TiledIteration"] +git-tree-sha1 = "d438268ed7a665f8322572be0dabda83634d5f45" +uuid = "916415d5-f1e6-5110-898d-aaa5f9f070e0" +version = "0.26.0" + [[deps.Imath_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] git-tree-sha1 = "3d09a9f60edf77f8a4d99f9e015e8fbf9989605d" @@ -774,11 +880,6 @@ git-tree-sha1 = "ea8031dea4aff6bd41f1df8f2fdfb25b33626381" uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" version = "0.1.4" -[[deps.InitialValues]] -git-tree-sha1 = "4da0f88e9a39111c2fa3add390ab15f3a44f3ca3" -uuid = "22cec73e-a1b8-11e9-2c92-598750a2cf9c" -version = "0.3.1" - [[deps.InlineStrings]] deps = ["Parsers"] git-tree-sha1 = "9cc2baf75c6d09f9da536ddf58eb2f29dedaf461" @@ -790,6 +891,12 @@ git-tree-sha1 = "b8ffb903da9f7b8cf695a8bead8e01814aa24b30" uuid = "18e54dd8-cb9d-406c-a71d-865a43cbb235" version = "0.1.2" +[[deps.IntegralArrays]] +deps = ["ColorTypes", "FixedPointNumbers", "IntervalSets"] +git-tree-sha1 = "be8e690c3973443bec584db3346ddc904d4884eb" +uuid = "1d092043-8f09-5a30-832f-7509e371ab51" +version = "0.1.5" + [[deps.IntelOpenMP_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "ad37c091f7d7daf900963171600d7c1c5c3ede32" @@ -807,16 +914,16 @@ uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" version = "0.14.7" [[deps.IntervalArithmetic]] -deps = ["CRlibm", "FastRounding", "LinearAlgebra", "Markdown", "Random", "RecipesBase", "RoundingEmulator", "SetRounding", "StaticArrays"] -git-tree-sha1 = "5ab7744289be503d76a944784bac3f2df7b809af" +deps = ["CRlibm", "EnumX", "FastRounding", "LinearAlgebra", "Markdown", "Random", "RecipesBase", "RoundingEmulator", "SetRounding", "StaticArrays"] +git-tree-sha1 = "f59e639916283c1d2e106d2b00910b50f4dab76c" uuid = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" -version = "0.20.9" +version = "0.21.2" [[deps.IntervalSets]] deps = ["Dates", "Random"] -git-tree-sha1 = "8e59ea773deee525c99a8018409f64f19fb719e6" +git-tree-sha1 = "3d8866c029dd6b16e69e0d4a939c4dfcb98fac47" uuid = "8197267c-284f-5f27-9208-e0e47529a953" -version = "0.7.7" +version = "0.7.8" weakdeps = ["Statistics"] [deps.IntervalSets.extensions] @@ -848,6 +955,12 @@ git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" uuid = "82899510-4779-5014-852e-03e436cf321d" version = "1.0.0" +[[deps.JLD2]] +deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "Pkg", "PrecompileTools", "Printf", "Reexport", "Requires", "TranscodingStreams", "UUIDs"] +git-tree-sha1 = "9bbb5130d3b4fa52846546bca4791ecbdfb52730" +uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" +version = "0.4.38" + [[deps.JLLWrappers]] deps = ["Artifacts", "Preferences"] git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca" @@ -860,6 +973,12 @@ git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" version = "0.21.4" +[[deps.JSON3]] +deps = ["Dates", "Mmap", "Parsers", "PrecompileTools", "StructTypes", "UUIDs"] +git-tree-sha1 = "95220473901735a0f4df9d1ca5b171b568b2daa3" +uuid = "0f8b85d8-7281-11e9-16c2-39a750bddbf1" +version = "1.13.2" + [[deps.JpegTurbo]] deps = ["CEnum", "FileIO", "ImageCore", "JpegTurbo_jll", "TOML"] git-tree-sha1 = "d65930fa2bc96b07d7691c652d701dcbe7d9cf0b" @@ -878,17 +997,11 @@ git-tree-sha1 = "af433a10f3942e882d3c671aacb203e006a5808f" uuid = "9c1d0b0a-7046-5b2e-a33f-ea22f176ac7e" version = "0.2.1+0" -[[deps.JuliaVariables]] -deps = ["MLStyle", "NameResolution"] -git-tree-sha1 = "49fb3cb53362ddadb4415e9b73926d6b40709e70" -uuid = "b14d175d-62b4-44ba-8fb7-3064adc8c3ec" -version = "0.2.4" - [[deps.KernelAbstractions]] deps = ["Adapt", "Atomix", "InteractiveUtils", "LinearAlgebra", "MacroTools", "PrecompileTools", "Requires", "SparseArrays", "StaticArrays", "UUIDs", "UnsafeAtomics", "UnsafeAtomicsLLVM"] -git-tree-sha1 = "4c5875e4c228247e1c2b087669846941fb6e0118" +git-tree-sha1 = "95063c5bc98ba0c47e75e05ae71f1fed4deac6f6" uuid = "63c18a36-062a-441e-b654-da1e3ab1ce7c" -version = "0.9.8" +version = "0.9.12" [deps.KernelAbstractions.extensions] EnzymeExt = "EnzymeCore" @@ -908,17 +1021,37 @@ git-tree-sha1 = "f6250b16881adf048549549fba48b1161acdac8c" uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" version = "3.100.1+0" +[[deps.LERC_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "bf36f528eec6634efc60d7ec062008f171071434" +uuid = "88015f11-f218-50d7-93a8-a6af411a945d" +version = "3.0.0+1" + +[[deps.LLD_jll]] +deps = ["Artifacts", "Libdl", "Pkg", "TOML", "Zlib_jll", "libLLVM_jll"] +uuid = "d55e3150-da41-5e91-b323-ecfd1eec6109" +version = "14.0.6+3" + [[deps.LLVM]] -deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Printf", "Unicode"] -git-tree-sha1 = "4ea2928a96acfcf8589e6cd1429eff2a3a82c366" +deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Preferences", "Printf", "Requires", "Unicode"] +git-tree-sha1 = "c879e47398a7ab671c782e02b51a4456794a7fa3" uuid = "929cbde3-209d-540e-8aea-75f648917ca0" -version = "6.3.0" +version = "6.4.0" +weakdeps = ["BFloat16s"] + + [deps.LLVM.extensions] + BFloat16sExt = "BFloat16s" [[deps.LLVMExtra_jll]] deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] -git-tree-sha1 = "e7c01b69bcbcb93fd4cbc3d0fea7d229541e18d2" +git-tree-sha1 = "a84f8f1e8caaaa4e3b4c101306b9e801d3883ace" uuid = "dad2f222-ce93-54a1-a47d-0025e8a3acab" -version = "0.0.26+0" +version = "0.0.27+0" + +[[deps.LLVMLoopInfo]] +git-tree-sha1 = "2e5c102cfc41f48ae4740c7eca7743cc7e7b75ea" +uuid = "8b046642-f1f6-4319-8d3c-209ddc03c586" +version = "1.0.0" [[deps.LLVMOpenMP_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -926,6 +1059,12 @@ git-tree-sha1 = "f689897ccbe049adb19a065c495e75f372ecd42b" uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" version = "15.0.4+0" +[[deps.LLVM_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "TOML", "Zlib_jll", "libLLVM_jll"] +git-tree-sha1 = "c5131b433876973cf29a2d9ec426cc099567e68c" +uuid = "86de99a1-58d6-5da7-8064-bd56ce2e322c" +version = "14.0.6+4" + [[deps.LZO_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "e5b909bcf985c5e2605737d2ce278ed791b89be6" @@ -933,15 +1072,15 @@ uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" version = "2.10.1+0" [[deps.LaTeXStrings]] -git-tree-sha1 = "f2355693d6778a178ade15952b7ac47a4ff97996" +git-tree-sha1 = "50901ebc375ed41dbf8058da26f9de442febbbec" uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" -version = "1.3.0" +version = "1.3.1" [[deps.LayoutPointers]] deps = ["ArrayInterface", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface"] -git-tree-sha1 = "88b8f66b604da079a627b6fb2860d3704a6729a1" +git-tree-sha1 = "62edfee3211981241b57ff1cedf4d74d79519277" uuid = "10f19ff3-798f-405d-979b-55457f8fc047" -version = "0.1.14" +version = "0.1.15" [[deps.LazyArtifacts]] deps = ["Artifacts", "Pkg"] @@ -966,6 +1105,12 @@ version = "7.84.0+0" deps = ["Base64", "NetworkOptions", "Printf", "SHA"] uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" +[[deps.LibMPDec_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "6eaa22a233f28bc5d6092f3f8e685f85080fba11" +uuid = "7106de7a-f406-5ef1-84f7-3345f7341bd2" +version = "2.5.1+0" + [[deps.LibSSH2_jll]] deps = ["Artifacts", "Libdl", "MbedTLS_jll"] uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" @@ -986,6 +1131,12 @@ git-tree-sha1 = "64613c82a59c120435c067c2b809fc61cf5166ae" uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" version = "1.8.7+0" +[[deps.Libglvnd_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] +git-tree-sha1 = "6f73d1dd803986947b2c750138528a999a6c7733" +uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" +version = "1.6.0+0" + [[deps.Libgpg_error_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "c333716e46366857753e273ce6a69ee0945a6db9" @@ -1004,6 +1155,12 @@ git-tree-sha1 = "9c30530bf0effd46e15e0fdcf2b8636e78cbbd73" uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" version = "2.35.0+0" +[[deps.Libtiff_jll]] +deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "Pkg", "Zlib_jll", "Zstd_jll"] +git-tree-sha1 = "3eb79b0ca5764d4799c06699573fd8f533259713" +uuid = "89763e89-9b03-5906-acba-b20f662cd828" +version = "4.4.0+0" + [[deps.Libuuid_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "7f3efec06033682db852f8b3bc3c1d2b0a0ab066" @@ -1052,10 +1209,10 @@ version = "0.3.26" uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" [[deps.LoopVectorization]] -deps = ["ArrayInterface", "ArrayInterfaceCore", "CPUSummary", "CloseOpenIntervals", "DocStringExtensions", "HostCPUFeatures", "IfElse", "LayoutPointers", "LinearAlgebra", "OffsetArrays", "PolyesterWeave", "PrecompileTools", "SIMDTypes", "SLEEFPirates", "Static", "StaticArrayInterface", "ThreadingUtilities", "UnPack", "VectorizationBase"] -git-tree-sha1 = "c88a4afe1703d731b1c4fdf4e3c7e77e3b176ea2" +deps = ["ArrayInterface", "CPUSummary", "CloseOpenIntervals", "DocStringExtensions", "HostCPUFeatures", "IfElse", "LayoutPointers", "LinearAlgebra", "OffsetArrays", "PolyesterWeave", "PrecompileTools", "SIMDTypes", "SLEEFPirates", "Static", "StaticArrayInterface", "ThreadingUtilities", "UnPack", "VectorizationBase"] +git-tree-sha1 = "0f5648fbae0d015e3abe5867bca2b362f67a5894" uuid = "bdcacae8-1622-11e9-2a5c-532679323890" -version = "0.12.165" +version = "0.12.166" weakdeps = ["ChainRulesCore", "ForwardDiff", "SpecialFunctions"] [deps.LoopVectorization.extensions] @@ -1081,11 +1238,6 @@ git-tree-sha1 = "eb006abbd7041c28e0d16260e50a24f8f9104913" uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" version = "2023.2.0+0" -[[deps.MLStyle]] -git-tree-sha1 = "bc38dff0548128765760c79eb7388a4b37fae2c8" -uuid = "d8e11817-5142-5d16-987a-aa16d5891078" -version = "0.4.17" - [[deps.MacroTools]] deps = ["Markdown", "Random"] git-tree-sha1 = "9ee1618cbf5240e6d4e0371d6f24065083f60c48" @@ -1134,11 +1286,33 @@ deps = ["Artifacts", "Libdl"] uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" version = "2.28.2+0" -[[deps.MicroCollections]] -deps = ["BangBang", "InitialValues", "Setfield"] -git-tree-sha1 = "629afd7d10dbc6935ec59b32daeb33bc4460a42e" -uuid = "128add7d-3638-4c79-886c-908ea0c25c34" -version = "0.1.4" +[[deps.MetaGraphs]] +deps = ["Graphs", "JLD2", "Random"] +git-tree-sha1 = "1130dbe1d5276cb656f6e1094ce97466ed700e5a" +uuid = "626554b9-1ddb-594c-aa3c-2596fe9399a5" +version = "0.7.2" + +[[deps.Metal]] +deps = ["Adapt", "Artifacts", "CEnum", "ExprTools", "GPUArrays", "GPUCompiler", "KernelAbstractions", "LLVM", "LinearAlgebra", "Metal_LLVM_Tools_jll", "ObjectFile", "ObjectiveC", "Printf", "Python_jll", "Random", "Reexport", "Requires", "StaticArrays"] +git-tree-sha1 = "b696f1ad8bab7c53e022c0c3c226ed0f7ec2015e" +uuid = "dde4c033-4e86-420c-a63e-0dd931031962" +version = "0.5.1" +weakdeps = ["SpecialFunctions"] + + [deps.Metal.extensions] + SpecialFunctionsExt = "SpecialFunctions" + +[[deps.Metal_LLVM_Tools_jll]] +deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML", "Zlib_jll"] +git-tree-sha1 = "7fb1688d2e08c6e08840b41d9d46510f105b20e6" +uuid = "0418c028-ff8c-56b8-a53e-0f9676ed36fc" +version = "0.5.1+0" + +[[deps.MicroMamba]] +deps = ["Pkg", "Scratch", "micromamba_jll"] +git-tree-sha1 = "011cab361eae7bcd7d278f0a7a00ff9c69000c51" +uuid = "0b3b1443-0f03-428d-bdfb-f27f9c1191ea" +version = "0.1.14" [[deps.Missings]] deps = ["DataAPI"] @@ -1169,12 +1343,24 @@ git-tree-sha1 = "8d852646862c96e226367ad10c8af56099b4047e" uuid = "3b2b4ff1-bcff-5658-a3ee-dbcf1ce5ac09" version = "0.4.4" +[[deps.NEO_jll]] +deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML", "gmmlib_jll", "libigc_jll", "oneAPI_Level_Zero_Headers_jll"] +git-tree-sha1 = "e64ffccb6b806f04679c8862ef457cd5f9fd7acc" +uuid = "700fe977-ac61-5f37-bbc8-c6c4b2b6a9fd" +version = "23.17.26241+3" + [[deps.NLSolversBase]] deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] git-tree-sha1 = "a0b464d183da839699f4c79e7606d9d186ec172c" uuid = "d41bc354-129a-5804-8e4c-c37616107c6c" version = "7.8.3" +[[deps.NUMA_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "3da12251003f08e819c907c645879c362206f5b4" +uuid = "7f51dc2b-bb24-59f8-b771-bb1490e4195d" +version = "2.0.14+0" + [[deps.NVTX]] deps = ["Colors", "JuliaNVTXCallbacks_jll", "Libdl", "NVTX_jll"] git-tree-sha1 = "8bc9ce4233be3c63f8dcd78ccaf1b63a9c0baa34" @@ -1193,11 +1379,11 @@ git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" version = "1.0.2" -[[deps.NameResolution]] -deps = ["PrettyPrint"] -git-tree-sha1 = "1a0fa0e9613f46c9b8c11eee38ebb4f590013c5e" -uuid = "71a1bf82-56d0-4bbc-8a3c-48b961074391" -version = "0.1.5" +[[deps.NearestNeighbors]] +deps = ["Distances", "StaticArrays"] +git-tree-sha1 = "2c3726ceb3388917602169bed973dbc97f1b51a8" +uuid = "b8a86587-4115-5ab1-83bc-aa920d37bbce" +version = "0.4.13" [[deps.Netpbm]] deps = ["FileIO", "ImageCore", "ImageMetadata"] @@ -1209,10 +1395,22 @@ version = "1.1.1" uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" +[[deps.ObjectFile]] +deps = ["Reexport", "StructIO"] +git-tree-sha1 = "195e0a19842f678dd3473ceafbe9d82dfacc583c" +uuid = "d8793406-e978-5875-9003-1fc021f44a92" +version = "0.4.1" + +[[deps.ObjectiveC]] +deps = ["CEnum", "Preferences"] +git-tree-sha1 = "3138eba64eeb50c42fa79d7a5406cb422abeb7b0" +uuid = "e86c9b32-1129-44ac-8ea0-90d5bb39ded9" +version = "1.0.0" + [[deps.Observables]] -git-tree-sha1 = "6862738f9796b3edc1c09d0890afce4eca9e7e93" +git-tree-sha1 = "7438a59546cf62428fc9d1bc94729146d37a7225" uuid = "510215fc-4207-5dde-b226-833fc4488ee2" -version = "0.5.4" +version = "0.5.5" [[deps.OffsetArrays]] deps = ["Adapt"] @@ -1250,9 +1448,9 @@ version = "0.8.1+0" [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "ceeda72c9fd6bbebc4f4f598560789145a8b6c4c" +git-tree-sha1 = "a12e56c72edee3ce6b96667745e6cbbe5498f200" uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.0.11+0" +version = "1.1.23+0" [[deps.OpenSpecFun_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] @@ -1284,15 +1482,15 @@ version = "10.42.0+0" [[deps.PDMats]] deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "fcf8fd477bd7f33cb8dbb1243653fb0d415c256c" +git-tree-sha1 = "66b2fcd977db5329aa35cac121e5b94dd6472198" uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" -version = "0.11.25" +version = "0.11.28" [[deps.PNGFiles]] deps = ["Base64", "CEnum", "ImageCore", "IndirectArrays", "OffsetArrays", "libpng_jll"] -git-tree-sha1 = "9b02b27ac477cad98114584ff964e3052f656a0f" +git-tree-sha1 = "5ded86ccaf0647349231ed6c0822c10886d4a1ee" uuid = "f57f5aa1-a3ce-4bc8-8ab9-96f992907883" -version = "0.4.0" +version = "0.4.1" [[deps.Packing]] deps = ["GeometryBasics"] @@ -1326,9 +1524,15 @@ version = "2.7.2" [[deps.Permutations]] deps = ["Combinatorics", "LinearAlgebra", "Random"] -git-tree-sha1 = "25e2bb0973689836bf164ecb960762f1bb8794dd" +git-tree-sha1 = "4f69b02cf40a0f494d0438ab29de32e14ef96e7b" uuid = "2ae35dd2-176d-5d53-8349-f30d82d94d4f" -version = "0.4.17" +version = "0.4.18" + +[[deps.Pidfile]] +deps = ["FileWatching", "Test"] +git-tree-sha1 = "2d8aaf8ee10df53d0dfb9b8ee44ae7c04ced2b03" +uuid = "fa939f87-e72e-5be4-a000-7fc836dbe307" +version = "1.3.0" [[deps.Pixman_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"] @@ -1371,20 +1575,18 @@ uuid = "647866c9-e3ac-4575-94e7-e3d426903924" version = "0.1.2" [[deps.Polynomials]] -deps = ["LinearAlgebra", "RecipesBase", "Setfield", "SparseArrays"] -git-tree-sha1 = "ea78a2764f31715093de7ab495e12c0187f231d1" +deps = ["LinearAlgebra", "RecipesBase"] +git-tree-sha1 = "3aa2bb4982e575acd7583f01531f241af077b163" uuid = "f27b6e38-b328-58d1-80ce-0feddd5e7a45" -version = "4.0.4" +version = "3.2.13" [deps.Polynomials.extensions] PolynomialsChainRulesCoreExt = "ChainRulesCore" - PolynomialsFFTWExt = "FFTW" PolynomialsMakieCoreExt = "MakieCore" PolynomialsMutableArithmeticsExt = "MutableArithmetics" [deps.Polynomials.weakdeps] ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - FFTW = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" MakieCore = "20f20a25-4f0e-4fdf-b5d1-57303727442b" MutableArithmetics = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" @@ -1412,16 +1614,11 @@ git-tree-sha1 = "00805cd429dcb4870060ff49ef443486c262e38e" uuid = "21216c6a-2e73-6563-6e65-726566657250" version = "1.4.1" -[[deps.PrettyPrint]] -git-tree-sha1 = "632eb4abab3449ab30c5e1afaa874f0b98b586e4" -uuid = "8162dcfd-2161-5ef2-ae6c-7681170c5f98" -version = "0.2.0" - [[deps.PrettyTables]] deps = ["Crayons", "LaTeXStrings", "Markdown", "Printf", "Reexport", "StringManipulation", "Tables"] -git-tree-sha1 = "ee094908d720185ddbdc58dbe0c1cbe35453ec7a" +git-tree-sha1 = "6842ce83a836fbbc0cfeca0b5a4de1a4dcbdb8d1" uuid = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" -version = "2.2.7" +version = "2.2.8" [[deps.Primes]] deps = ["IntegerMathUtils"] @@ -1443,6 +1640,18 @@ git-tree-sha1 = "00099623ffee15972c16111bcf84c58a0051257c" uuid = "92933f4c-e287-5a05-a399-4b506db050ca" version = "1.9.0" +[[deps.PythonCall]] +deps = ["CondaPkg", "Dates", "Libdl", "MacroTools", "Markdown", "Pkg", "REPL", "Requires", "Serialization", "Tables", "UnsafePointers"] +git-tree-sha1 = "4999b3e4e9bdeba0b61ede19cc45a2128db21cdc" +uuid = "6099a3de-0909-46bc-b1f4-468b9a2dfc0d" +version = "0.9.15" + +[[deps.Python_jll]] +deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "JLLWrappers", "LibMPDec_jll", "Libdl", "Libffi_jll", "OpenSSL_jll", "Pkg", "SQLite_jll", "XZ_jll", "Zlib_jll"] +git-tree-sha1 = "07aa31a2eeea4e93d1ce92696dc64fb76a7f632c" +uuid = "93d3a430-8e7c-50da-8e8d-3dfcfb3baf05" +version = "3.10.8+1" + [[deps.QOI]] deps = ["ColorTypes", "FileIO", "FixedPointNumbers"] git-tree-sha1 = "18e8f4d1426e965c7b532ddd260599e1510d26ce" @@ -1455,10 +1664,34 @@ git-tree-sha1 = "9ebcd48c498668c7fa0e97a9cae873fbee7bfee1" uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" version = "2.9.1" +[[deps.Quaternions]] +deps = ["LinearAlgebra", "Random", "RealDot"] +git-tree-sha1 = "da095158bdc8eaccb7890f9884048555ab771019" +uuid = "94ee1d12-ae83-5a48-8b1c-48b8ff168ae0" +version = "0.7.4" + [[deps.REPL]] deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" +[[deps.ROCmCompilerSupport_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "ROCmDeviceLibs_jll", "hsa_rocr_jll"] +git-tree-sha1 = "7a3f25087b24d33b89f2e32cccd26af39275d14d" +uuid = "8fbdd1d2-db62-5cd0-981e-905da1486e17" +version = "5.4.4+0" + +[[deps.ROCmDeviceLibs_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "ffa4c00f01cab20aa4a5dc0edb470cbc01823353" +uuid = "873c0968-716b-5aa7-bb8d-d1e2e2aeff2d" +version = "5.6.1+0" + +[[deps.ROCmOpenCLRuntime_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "ROCmCompilerSupport_jll", "ROCmDeviceLibs_jll", "Xorg_libX11_jll", "Xorg_xorgproto_jll", "hsa_rocr_jll", "hsakmt_roct_jll"] +git-tree-sha1 = "f7cbafcda3eec208831f22ae7816f34a90ce8e0f" +uuid = "10ae2a08-2eea-53f8-8c20-eec175020e9f" +version = "5.4.4+0" + [[deps.Random]] deps = ["SHA", "Serialization"] uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" @@ -1490,6 +1723,12 @@ weakdeps = ["FixedPointNumbers"] [deps.Ratios.extensions] RatiosFixedPointNumbersExt = "FixedPointNumbers" +[[deps.RealDot]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "9f0a1b71baaf7650f4fa8a1d168c7fb6ee41f0c9" +uuid = "c1ae055f-0cd5-4b69-90a6-9a35b1a98df9" +version = "0.1.0" + [[deps.RecipesBase]] deps = ["PrecompileTools"] git-tree-sha1 = "5c3d09cc4f31f5fc6af001c250bf1278733100ff" @@ -1501,6 +1740,12 @@ git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" uuid = "189a3867-3050-52da-a836-e630ba90ab69" version = "1.2.2" +[[deps.RegionTrees]] +deps = ["IterTools", "LinearAlgebra", "StaticArrays"] +git-tree-sha1 = "4618ed0da7a251c7f92e869ae1a19c74a7d2a7f9" +uuid = "dee08c22-ab7f-5625-9660-a9af2021b33f" +version = "0.3.2" + [[deps.RelocatableFolders]] deps = ["SHA", "Scratch"] git-tree-sha1 = "ffdaf70d81cf6ff22c2b6e733c900c3321cab864" @@ -1531,6 +1776,12 @@ git-tree-sha1 = "6ed52fdd3382cf21947b15e8870ac0ddbff736da" uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" version = "0.4.0+0" +[[deps.Rotations]] +deps = ["LinearAlgebra", "Quaternions", "Random", "StaticArrays"] +git-tree-sha1 = "0783924e4a332493f72490253ba4e668aeba1d73" +uuid = "6038ab10-8711-5258-84ad-4b1120ba62dc" +version = "1.6.0" + [[deps.RoundingEmulator]] git-tree-sha1 = "40b9edad2e5287e05bd413a38f61a8ff55b9557b" uuid = "5eaf0fd0-dfba-4ccb-bf02-d820a40db705" @@ -1547,21 +1798,39 @@ version = "0.1.0" [[deps.SLEEFPirates]] deps = ["IfElse", "Static", "VectorizationBase"] -git-tree-sha1 = "4b8586aece42bee682399c4c4aee95446aa5cd19" +git-tree-sha1 = "3aac6d68c5e57449f5b9b865c9ba50ac2970c4cf" uuid = "476501e8-09a2-5ece-8869-fb82de89a1fa" -version = "0.6.39" +version = "0.6.42" + +[[deps.SPIRV_LLVM_Translator_unified_jll]] +deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] +git-tree-sha1 = "fe95f28a96975bd1d473e9273873b36402b79a54" +uuid = "85f0d8ed-5b39-5caa-b1ae-7472de402361" +version = "0.3.0+0" + +[[deps.SPIRV_Tools_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "c5ab754aa7d71ea015783a9884a25e196860707c" +uuid = "6ac6d60f-d740-5983-97d7-a4482c0689f4" +version = "2023.2.0+0" + +[[deps.SQLite_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "81f7d934b52b2441f7b44520bd982fdb3607b0da" +uuid = "76ed43ae-9a5d-5a62-8c75-30186b810ce8" +version = "3.43.0+0" [[deps.Scratch]] deps = ["Dates"] -git-tree-sha1 = "30449ee12237627992a99d5e30ae63e4d78cd24a" +git-tree-sha1 = "3bac05bc7e74a75fd9cba4295cde4045d9fe2386" uuid = "6c6a2e73-6563-6170-7368-637461726353" -version = "1.2.0" +version = "1.2.1" [[deps.SentinelArrays]] deps = ["Dates", "Random"] -git-tree-sha1 = "04bdff0b09c65ff3e06a05e3eb7b120223da3d39" +git-tree-sha1 = "0e7508ff27ba32f26cd459474ca2ede1bc10991f" uuid = "91c51154-3ec4-41a3-a24f-3f23e20d615c" -version = "1.4.0" +version = "1.4.1" [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" @@ -1629,26 +1898,26 @@ git-tree-sha1 = "5d7e3f4e11935503d3ecaf7186eac40602e7d231" uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" version = "0.9.4" +[[deps.SimpleWeightedGraphs]] +deps = ["Graphs", "LinearAlgebra", "Markdown", "SparseArrays"] +git-tree-sha1 = "4b33e0e081a825dbfaf314decf58fa47e53d6acb" +uuid = "47aef6b3-ad0c-573a-a1e2-d07658019622" +version = "1.4.0" + [[deps.Sixel]] deps = ["Dates", "FileIO", "ImageCore", "IndirectArrays", "OffsetArrays", "REPL", "libsixel_jll"] git-tree-sha1 = "2da10356e31327c7096832eb9cd86307a50b1eb6" uuid = "45858cf5-a6b0-47a3-bbea-62219f50df47" version = "0.1.3" -[[deps.SnoopPrecompile]] -deps = ["Preferences"] -git-tree-sha1 = "e760a70afdcd461cf01a575947738d359234665c" -uuid = "66db9d55-30c0-4569-8b51-7e840670fc0c" -version = "1.0.3" - [[deps.Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" [[deps.SortingAlgorithms]] deps = ["DataStructures"] -git-tree-sha1 = "c60ec5c62180f27efea3ba2908480f8055e17cee" +git-tree-sha1 = "5165dfb9fd131cf0c6957a3a7605dede376e7b63" uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" -version = "1.1.1" +version = "1.2.0" [[deps.SparseArrays]] deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] @@ -1664,17 +1933,11 @@ weakdeps = ["ChainRulesCore"] [deps.SpecialFunctions.extensions] SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" -[[deps.SplittablesBase]] -deps = ["Setfield", "Test"] -git-tree-sha1 = "e08a62abc517eb79667d0a29dc08a3b589516bb5" -uuid = "171d559e-b47b-412a-8079-5efa626c420e" -version = "0.1.15" - [[deps.StableHashTraits]] deps = ["Compat", "SHA", "Tables", "TupleTools"] -git-tree-sha1 = "19df33ca14f24a3ad2df9e89124bd5f5cc8467a2" +git-tree-sha1 = "d29023a76780bb8a3f2273b29153fd00828cb73f" uuid = "c5dd0088-6c3f-4803-b00e-f31a60c170fa" -version = "1.0.1" +version = "1.1.1" [[deps.StackViews]] deps = ["OffsetArrays"] @@ -1745,6 +2008,12 @@ version = "1.3.0" ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" +[[deps.StringDistances]] +deps = ["Distances", "StatsAPI"] +git-tree-sha1 = "ceeef74797d961aee825aabf71446d6aba898acb" +uuid = "88034a9c-02f8-509d-84a9-84ec65e18404" +version = "0.11.2" + [[deps.StringManipulation]] deps = ["PrecompileTools"] git-tree-sha1 = "a04cabe79c5f01f4d723cc6704070ada0b9d46d5" @@ -1757,6 +2026,18 @@ git-tree-sha1 = "0a3db38e4cce3c54fe7a71f831cd7b6194a54213" uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" version = "0.6.16" +[[deps.StructIO]] +deps = ["Test"] +git-tree-sha1 = "010dc73c7146869c042b49adcdb6bf528c12e859" +uuid = "53d494c1-5632-5724-8f4c-31dff12d585f" +version = "0.3.0" + +[[deps.StructTypes]] +deps = ["Dates", "UUIDs"] +git-tree-sha1 = "ca4bccb03acf9faaf4137a9abc1881ed1841aa70" +uuid = "856f2bd8-1eba-4b0a-8007-ebc267875bd4" +version = "1.10.0" + [[deps.SuiteSparse]] deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" @@ -1779,9 +2060,9 @@ version = "1.0.1" [[deps.Tables]] deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits"] -git-tree-sha1 = "a1f34829d5ac0ef499f6d84428bd6b4c71f02ead" +git-tree-sha1 = "cb76cf677714c095e535e3501ac7954732aeea2d" uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" -version = "1.11.0" +version = "1.11.1" [[deps.Tar]] deps = ["ArgTools", "SHA"] @@ -1798,6 +2079,12 @@ version = "0.1.1" deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" +[[deps.TestImages]] +deps = ["AxisArrays", "ColorTypes", "FileIO", "ImageIO", "ImageMagick", "OffsetArrays", "Pkg", "StringDistances"] +git-tree-sha1 = "0567860ec35a94c087bd98f35de1dddf482d7c67" +uuid = "5e47fb64-e119-507b-a336-dd2b206d9990" +version = "1.8.0" + [[deps.ThreadingUtilities]] deps = ["ManualMemory"] git-tree-sha1 = "eda08f7e9818eb53661b3deb74e3159460dfbc27" @@ -1828,26 +2115,6 @@ git-tree-sha1 = "9a6ae7ed916312b41236fcef7e0af564ef934769" uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" version = "0.9.13" -[[deps.Transducers]] -deps = ["Adapt", "ArgCheck", "BangBang", "Baselet", "CompositionsBase", "ConstructionBase", "DefineSingletons", "Distributed", "InitialValues", "Logging", "Markdown", "MicroCollections", "Requires", "Setfield", "SplittablesBase", "Tables"] -git-tree-sha1 = "53bd5978b182fa7c57577bdb452c35e5b4fb73a5" -uuid = "28d57a85-8fef-5791-bfe6-a80928e7c999" -version = "0.4.78" - - [deps.Transducers.extensions] - TransducersBlockArraysExt = "BlockArrays" - TransducersDataFramesExt = "DataFrames" - TransducersLazyArraysExt = "LazyArrays" - TransducersOnlineStatsBaseExt = "OnlineStatsBase" - TransducersReferenceablesExt = "Referenceables" - - [deps.Transducers.weakdeps] - BlockArrays = "8e7c35d0-a365-5155-bbbb-fb81a777f24e" - DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" - LazyArrays = "5078a376-72f3-5289-bfd5-ec5146d43c02" - OnlineStatsBase = "925886fa-5bf2-5e8e-b522-a9147a512338" - Referenceables = "42d2dcc6-99eb-4e98-b66c-637b7d73030e" - [[deps.Tricks]] git-tree-sha1 = "eae1bb484cd63b36999ee58be2de6c178105112f" uuid = "410a4b4d-49e4-4fbc-ab6d-cb71b17b3775" @@ -1864,9 +2131,9 @@ uuid = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6" version = "1.4.3" [[deps.URIs]] -git-tree-sha1 = "b7a5e99f24892b6824a954199a45e9ffcc1c70f0" +git-tree-sha1 = "67db6cc7b3821e19ebe75791a9dd19c9b1188f2b" uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" -version = "1.5.0" +version = "1.5.1" [[deps.UUIDs]] deps = ["Random", "SHA"] @@ -1897,6 +2164,11 @@ git-tree-sha1 = "323e3d0acf5e78a56dfae7bd8928c989b4f3083e" uuid = "d80eeb9a-aca5-4d75-85e5-170c8b632249" version = "0.1.3" +[[deps.UnsafePointers]] +git-tree-sha1 = "c81331b3b2e60a982be57c046ec91f599ede674a" +uuid = "e17b2a0c-0bdf-430a-bd0c-3a23cae4ff39" +version = "1.0.0" + [[deps.VectorizationBase]] deps = ["ArrayInterface", "CPUSummary", "HostCPUFeatures", "IfElse", "LayoutPointers", "Libdl", "LinearAlgebra", "SIMDTypes", "Static", "StaticArrayInterface"] git-tree-sha1 = "b182207d4af54ac64cbc71797765068fdeff475d" @@ -1921,6 +2193,12 @@ git-tree-sha1 = "91844873c4085240b95e795f692c4cec4d805f8a" uuid = "aed1982a-8fda-507f-9586-7b0439959a61" version = "1.1.34+0" +[[deps.XZ_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "522b8414d40c4cbbab8dee346ac3a09f9768f25d" +uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" +version = "5.4.5+0" + [[deps.Xorg_libX11_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] git-tree-sha1 = "afead5aba5aa507ad5a3bf01f58f82c8d1403495" @@ -1951,6 +2229,12 @@ git-tree-sha1 = "19560f30fd49f4d4efbe7002a1037f8c43d43b96" uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" version = "0.9.10+4" +[[deps.Xorg_libpciaccess_jll]] +deps = ["Libdl", "Pkg"] +git-tree-sha1 = "79a09b8c1d3a2659937503788ce11173ba29681b" +uuid = "a65dc6b1-eb27-53a1-bb3e-dea574b5389e" +version = "0.16.0+1" + [[deps.Xorg_libpthread_stubs_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] git-tree-sha1 = "8fdda4c692503d44d04a0603d9ac0982054635f9" @@ -1963,6 +2247,12 @@ git-tree-sha1 = "b4bfde5d5b652e22b9c790ad00af08b6d042b97d" uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" version = "1.15.0+0" +[[deps.Xorg_xorgproto_jll]] +deps = ["Libdl", "Pkg"] +git-tree-sha1 = "9a9eb8ce756fe0bca01b4be16da770e18d264972" +uuid = "c4d99508-4286-5418-9131-c86396af500b" +version = "2019.2.0+2" + [[deps.Xorg_xtrans_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] git-tree-sha1 = "e92a1a012a10506618f10b7047e478403a046c77" @@ -1974,12 +2264,53 @@ deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" version = "1.2.13+0" +[[deps.Zstd_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "49ce682769cd5de6c72dcf1b94ed7790cd08974c" +uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" +version = "1.5.5+0" + +[[deps.argp_standalone_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "feaf9f6293003c2bf53056fd6930d677ed340b34" +uuid = "c53206cc-00f7-50bf-ad1e-3ae1f6e49bc3" +version = "1.3.1+0" + +[[deps.fts_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "aa21810b841ae26d2fc7f780cb1596b4170a4c49" +uuid = "d65627f6-89bd-53e8-8ab5-8b75ff535eee" +version = "1.2.8+0" + +[[deps.gmmlib_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "228b09be83d88cc5d2236ef7b516d988d2639dfc" +uuid = "09858cae-167c-5acb-9302-fddc6874d481" +version = "22.3.0+0" + +[[deps.hsa_rocr_jll]] +deps = ["Artifacts", "Elfutils_jll", "JLLWrappers", "Libdl", "NUMA_jll", "ROCmDeviceLibs_jll", "XML2_jll", "Zlib_jll", "hsakmt_roct_jll"] +git-tree-sha1 = "0458f0ff5d72a270fbab764d354dc35d90b28ba9" +uuid = "dd59ff1a-a01a-568d-8b29-0669330f116a" +version = "5.4.4+0" + +[[deps.hsakmt_roct_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "NUMA_jll", "libdrm_jll"] +git-tree-sha1 = "6653a80064fd0afda83c89b5d4e5cd7fd11db129" +uuid = "1cecccd7-a9b6-5045-9cdc-a44c19b16d76" +version = "5.5.1+0" + [[deps.isoband_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "51b5eeb3f98367157a7a12a1fb0aa5328946c03c" uuid = "9a68df92-36a6-505f-a73e-abb412b6bfb4" version = "0.2.3+0" +[[deps.libLLVM_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8f36deef-c2a5-5394-99ed-8e07531fb29a" +version = "14.0.6+3" + [[deps.libaom_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "3a2ea60308f0996d26f1e5354e10c24e9ef905d4" @@ -1997,12 +2328,24 @@ deps = ["Artifacts", "Libdl"] uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" version = "5.8.0+0" +[[deps.libdrm_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libpciaccess_jll"] +git-tree-sha1 = "89b30a68162c12118311b77e57b20c8fa2685496" +uuid = "8e53e030-5e6c-5a89-a30b-be5b7263a166" +version = "2.4.110+0" + [[deps.libfdk_aac_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" version = "2.0.2+0" +[[deps.libigc_jll]] +deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] +git-tree-sha1 = "7c0b5fa2ff90d96af106fd4a67ff6923cd3f9cb9" +uuid = "94295238-5935-5bd7-bb0f-b00942e9bdd5" +version = "1.0.13822+0" + [[deps.libpng_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] git-tree-sha1 = "94d180a6d2b5e55e447e2d27a29ed04fe79eb30c" @@ -2021,16 +2364,58 @@ git-tree-sha1 = "b910cb81ef3fe6e78bf6acee440bda86fd6ae00c" uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" version = "1.3.7+1" +[[deps.micromamba_jll]] +deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl"] +git-tree-sha1 = "66d07957bcf7e4930d933195aed484078dd8cbb5" +uuid = "f8abcde7-e9b7-5caa-b8af-a437887ae8e4" +version = "1.4.9+0" + [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" version = "1.48.0+0" +[[deps.obstack_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "5353d2b8d19b8ed8d972a4bed38fff85d27f7f73" +uuid = "c88a4935-d25e-5644-aacc-5db6f1b8ef79" +version = "1.2.3+0" + +[[deps.oneAPI]] +deps = ["Adapt", "CEnum", "ExprTools", "GPUArrays", "GPUCompiler", "KernelAbstractions", "LLVM", "LinearAlgebra", "NEO_jll", "Preferences", "Printf", "Random", "SPIRV_LLVM_Translator_unified_jll", "SPIRV_Tools_jll", "SpecialFunctions", "UnsafeAtomicsLLVM", "oneAPI_Level_Zero_Headers_jll", "oneAPI_Level_Zero_Loader_jll", "oneAPI_Support_jll"] +git-tree-sha1 = "3577e3707c7ed3307947800185b2fa33c1170687" +uuid = "8f75cd03-7ff8-4ecb-9b8f-daf728133b1b" +version = "1.4.0" + +[[deps.oneAPI_Level_Zero_Headers_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "429b0c153eae51a6b3bc6b2d494d1d0b24e13b17" +uuid = "f4bc562b-d309-54f8-9efb-476e56f0410d" +version = "1.7.0+0" + +[[deps.oneAPI_Level_Zero_Loader_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "oneAPI_Level_Zero_Headers_jll"] +git-tree-sha1 = "b2409313ea22a7e6f0de48c498dac8de3adb034f" +uuid = "13eca655-d68d-5b81-8367-6d99d727ab01" +version = "1.13.1+0" + +[[deps.oneAPI_Support_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "oneAPI_Level_Zero_Loader_jll"] +git-tree-sha1 = "39a73e1fcd9a33eeadfd69f9027e9c62d3c58219" +uuid = "b049733a-a71d-5ed3-8eba-7d323ac00b36" +version = "0.2.2+0" + [[deps.p7zip_jll]] deps = ["Artifacts", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" version = "17.4.0+0" +[[deps.rocminfo_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "hsa_rocr_jll", "hsakmt_roct_jll"] +git-tree-sha1 = "840acd2135e7bd025870d063e99ff70d05c0de46" +uuid = "5a766526-3cf8-5128-8c31-4f7b7ad60f0e" +version = "5.4.4+0" + [[deps.x264_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2" diff --git a/docs/Project.toml b/docs/Project.toml index 7051ad6..6ee18c7 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,8 +1,18 @@ [deps] +AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e" BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" DistanceTransforms = "71182807-4d06-4237-8dd0-bdafe4d097e2" +DistanceTransformsPy = "d85f584c-7717-483c-8218-10621e78a8b8" HTMLStrings = "c47fe496-5789-4377-b1db-55e89f2ee0c6" +ImageMorphology = "787d08f9-d448-5407-9aad-5290dd7ab264" +ImageSegmentation = "80713f31-8817-5129-9cf8-209ff8fb23e1" +Images = "916415d5-f1e6-5110-898d-aaa5f9f070e0" +KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" Losers = "1785af8d-d312-496e-9b53-daf6ddaba92c" +Metal = "dde4c033-4e86-420c-a63e-0dd931031962" PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8" +Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +TestImages = "5e47fb64-e119-507b-a336-dd2b206d9990" +oneAPI = "8f75cd03-7ff8-4ecb-9b8f-daf728133b1b" diff --git a/index.jl b/index.jl index 589079c..4f4ac97 100644 --- a/index.jl +++ b/index.jl @@ -1,5 +1,5 @@ ### A Pluto.jl notebook ### -# v0.19.26 +# v0.19.32 #> [frontmatter] #> title = "DistanceTransforms.jl" @@ -58,7 +58,7 @@ function index_title_card(title::String, subtitle::String, image_url::String; da ), divv(:data_theme => "$data_theme", :class => "card card-bordered flex justify-center items-center border-$border_color text-center w-full dark:text-[#e6e6e6]", divv(:class => "card-body flex flex-col justify-center items-center", - img(:src => "$image_url", :class => "h-24 w-24 md:h-40 md:w-40 rounded-md", :alt => "$title Logo"), + img(:src => "$image_url", :class => "h-24 w-24 md:h-52 md:w-52 rounded-md", :alt => "$title Logo"), divv(:class => "text-5xl font-bold bg-gradient-to-r from-accent to-primary inline-block text-transparent bg-clip-text py-10", "$title"), p(:class => "card-text text-md font-serif", "$subtitle" ) @@ -114,7 +114,7 @@ function article_card(article::Article, color::String; data_theme = "pastel") p("Click to open the notebook") ), figure( - img(:src => article.image_url, :alt => article.title) + img(:class =>"w-full", :src => article.image_url, :alt => article.title) ) ) )