Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
01bfff6
Prune dependencies
mkitti Sep 30, 2025
ba17756
Qualify dependencies under ShroffCelegansModels
mkitti Sep 30, 2025
66c7464
Update fix_annotation_ap_axis.jl for Makie 0.24
mkitti Sep 30, 2025
4540214
Fix CI
mkitti Sep 30, 2025
6f525b4
Make cache loading optional
mkitti Oct 9, 2025
10a6cec
Working web apps
mkitti Nov 13, 2025
a97973b
Set compat with Dates to 1
mkitti Nov 13, 2025
da10d3c
Update web Manifest.toml
mkitti Apr 17, 2026
9ceb850
Use 0.0.0.0 and SHROFF_HOST env var for portability
mkitti Apr 17, 2026
28e4625
Add resave_for_ben.jl
mkitti Apr 17, 2026
a81429b
Update loading.jl with config_2026_03_19_v2.json
mkitti Apr 17, 2026
0e6733b
Merge branch 'web_makie_0_24' of github.com:JaneliaSciComp/ShroffCele…
mkitti Apr 17, 2026
ecee33d
Updates from Windows local dev
mkitti Apr 17, 2026
ffe8641
Update Project.toml and Manifest.toml files
mkitti Apr 17, 2026
bc7b228
Update scripts
mkitti Apr 17, 2026
f9b999d
Add configuration
mkitti Apr 17, 2026
cc8e14b
Enable query params in fix_annotation_ap_axis
mkitti Apr 18, 2026
e5f8fff
Add linux config v2, conversion script, and update config path
mkitti Apr 17, 2026
b623a1a
Add deployment directory copied from shroff-data-for-mark
mkitti Apr 17, 2026
d606228
Adapt deployment for repo-based build context
mkitti Apr 17, 2026
2358c8a
Add multithreading to Julia
mkitti Apr 18, 2026
227ec07
Use annotation and timepoint query strings
mkitti Apr 18, 2026
0ddadf9
Identify outlier timepoints via URL
mkitti Apr 29, 2026
cddd7a4
Create a base Docker image with just dependencies
mkitti Apr 29, 2026
0a3a6ee
Add initial raw_zscore_analysis function
mkitti May 2, 2026
2302198
Merge branch 'web_makie_0_24' of github.com:JaneliaSciComp/ShroffCele…
mkitti May 2, 2026
5494adb
Update deployment, use base image, annotation changes
mkitti May 7, 2026
e410a2d
Collect annotation changes path into a single function
mkitti May 7, 2026
e11b812
Remove redundant AnnotationChanges constructor
mkitti May 7, 2026
491450d
Merge branch 'web_makie_0_24' of github.com:JaneliaSciComp/ShroffCele…
mkitti May 7, 2026
f11f263
Add task to download annotation_changes.h5 to a dated file
mkitti May 7, 2026
7ca8521
Add win-64 platform
mkitti May 7, 2026
292a621
Merge branch 'web_makie_0_24' of github.com:JaneliaSciComp/ShroffCele…
mkitti May 7, 2026
f66092a
Add download_annotation_changes.jl script
mkitti May 7, 2026
112d954
Merge branch 'web_makie_0_24' of github.com:JaneliaSciComp/ShroffCele…
mkitti May 7, 2026
d113aad
Use a local dest in download_annotation_changes.jl
mkitti May 7, 2026
f29d596
Merge branch 'web_makie_0_24' of github.com:JaneliaSciComp/ShroffCele…
mkitti May 7, 2026
be6f87f
Add zscores as a web app
mkitti May 7, 2026
037eed2
Set up deployment for zscore-analysis, testing
mkitti May 8, 2026
847dfb4
Fix zscore analysis and Win and Linux paths
mkitti May 8, 2026
26e987e
Add modified time tracking, add get_avg_models
mkitti May 20, 2026
a619e1f
Use get_group_annotation_positions_over_time
mkitti May 20, 2026
8732792
Add daily mtime tracking for integrated annotations
mkitti May 21, 2026
fab5730
Mirror modified-times deployment to shroff-data (prod)
mkitti May 21, 2026
95566e3
Restore Main-scope names removed by commenting out makie.jl include
mkitti May 21, 2026
827d32e
Merge branch 'main' into web_makie_0_24
mkitti May 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@ jobs:
fail-fast: false
matrix:
version:
- '1.0'
- '1.9'
- '1'
- '1.10'
- '1.11'
- '1.12'
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i usually just test on 1 and 1.10

- 'nightly'
os:
- ubuntu-latest
Expand Down
26 changes: 11 additions & 15 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,54 +1,46 @@
name = "ShroffCelegansModels"
uuid = "28a312d2-d9d3-46a7-98c1-9c09f12e8c99"
authors = ["Mark Kittisopikul <kittisopikulm@janelia.hhmi.org> and contributors"]
version = "1.0.0-DEV"
authors = ["Mark Kittisopikul <kittisopikulm@janelia.hhmi.org> and contributors"]

[deps]
BSplineKit = "093aae92-e908-43d7-9660-e50ee39d5a0a"
CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
CircStats = "2f6764a1-d620-4564-9394-76eb7c776766"
ColorSchemes = "35d6a980-a343-548e-a6ea-1d62b119f2f4"
Colors = "5ae59095-9a9b-59fe-a467-6f913c188581"
CoordinateTransformations = "150eb455-5306-5404-9cee-2592286d6298"
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
FFTW = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341"
FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549"
FiniteDifferences = "26cc04aa-876d-5657-8c51-4c34ba976000"
FixedPointNumbers = "53c48c17-4a7d-5ca2-90c5-79b7896eea93"
GeometryBasics = "5c1252a2-5f33-56bf-86c9-59e7332b4326"
HDF5 = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f"
ImageContrastAdjustment = "f332f351-ec65-5f6a-b3d1-319c6670881a"
ImageCore = "a09fc81d-aa75-5fe9-8630-4744c3626534"
ImageFiltering = "6a3955dd-da59-5b1f-98d4-e7296123deb5"
IndirectArrays = "9b13fd28-a010-5f03-acff-a1bbcff69959"
InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
Interpolations = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59"
JSON3 = "0f8b85d8-7281-11e9-16c2-39a750bddbf1"
LRUCache = "8ac3fa9e-de4c-5943-b1dc-09c6b5f20637"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a"
MakieCore = "20f20a25-4f0e-4fdf-b5d1-57303727442b"
Missings = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28"
Observables = "510215fc-4207-5dde-b226-833fc4488ee2"
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a"
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca"
QuadGK = "1fd47b50-473d-5c70-9696-f719f8f3bcdc"
Rotations = "6038ab10-8711-5258-84ad-4b1120ba62dc"
Sockets = "6462fe0b-24de-5631-8697-dd941f90decc"
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"
ThinPlateSplines = "1d861738-f48e-4029-b1d3-81ce6bc7f5ab"
TiffImages = "731e570b-9d59-4bfa-96dc-6df516fadf69"
UnicodePlots = "b8865327-cd53-5732-bb35-84acbb429228"

[sources]
ThinPlateSplines = {url = "https://github.com/mkitti/ThinPlateSplines.jl"}

[compat]
BSplineKit = "0.17, 0.18, 0.19"
BSplineKit = "0.18, 0.19"
CSV = "0.10"
CircStats = "1"
ColorSchemes = "3"
Expand All @@ -60,8 +52,8 @@ FFTW = "1"
FileIO = "1"
FixedPointNumbers = "0.8"
FiniteDifferences = "0.12"
GeometryBasics = "0.4, 0.5"
HDF5 = "0.17"
GeometryBasics = "0.4.11, 0.5"
HDF5 = "0.17.2, 0.18"
ImageContrastAdjustment = "0.3"
ImageCore = "0.10"
ImageFiltering = "0.7"
Expand All @@ -70,7 +62,7 @@ IndirectArrays = "1"
Interpolations = "0.15, 0.16"
JSON3 = "1"
LRUCache = "1"
Makie = "0.20, 0.21"
Makie = "0.24.6"
MakieCore = "0.7, 0.8, 0.9"
Missings = "1"
Observables = "0.5"
Expand All @@ -81,7 +73,8 @@ Rotations = "1"
StaticArrays = "1"
Statistics = "1"
StatsBase = "0.34"
ThinPlateSplines = "0.1, 0.2"
Sockets = "1"
ThinPlateSplines = "0.1, 0.2.0"
TiffImages = "0.10, 0.11"
UnicodePlots = "3"
julia = "1"
Expand All @@ -91,3 +84,6 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["Test"]

[workspace]
projects = ["glmakie", "web", "ShroffCelegansModelsCore"]
43 changes: 43 additions & 0 deletions config/CHANGES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Config Change Summary

## 2024-09-05 v1 → 2026-03-19 v2

Settings (folderpaths, voxel scale, outlier removal, interpolation, warping, smoothing, mipav_output) are unchanged.

### Removed paths (5)

**JCC596_NU** — 3 old paths replaced by re-processed `Untwisting_Redo` equivalents:
- `JCC596_NU/Untwisting/082619_JCC596_NU/JCC596_NU/Pos3/SPIMB_result/Reg_Sample/Decon_registered`
- `JCC596_NU/Untwisting/091119_JCC596_NU/JCC596_NU/JCC596_NU/JCC596_NU/Pos2/SPIMB_result/Reg_Sample/Decon_registered`
- `JCC596_NU/Untwisting/091119_JCC596_NU/JCC596_NU/JCC596_NU/JCC596_NU/Pos3/SPIMB_result/Reg_Sample/Decon_registered`

**DCR4221** — UTP 1 dataset dropped; strain now has 4 datasets (UTP 2–5):
- `Non-model C elegans folders/Untwisting_Paper/DCR4221/063014_lattices_Javier - UTP 1/Decon_reg`

**RW10752_NU Pos2** — old path replaced:
- `RW10752_NU/Untwisting/031219_RW10752_NU/RW10752_NU/RW10752_NU/Pos2/Old/Decon_registered`

### Added paths (13)

**JCC596_NU** — 3 replacement paths under `Untwisting_Redo`:
- `JCC596_NU/Untwisting_Redo/082619_Pos3`
- `JCC596_NU/Untwisting_Redo/091119_Pos2`
- `JCC596_NU/Untwisting_Redo/091119_Pos3`

**RW10752_NU Pos2** — replacement path:
- `RW10752_NU/Untwisting/031219_RW10752_NU/RW10752_NU/RW10752_NU/Pos2/SPIMB/For_Tracking/For_Tracking`

**RW10131_retracked** — new strain, 3 positions (2024 SLS268 imaging):
- `RW10131/Data/2024_SLS268/20240401/RW10131_SLS6_New/Pos4/SPIMB/Reg_Sample/For_Tracking`
- `RW10131/Data/2024_SLS268/20240429/SLS268_RW10131_SLS6/Pos1/SPIMB/Reg_Sample/For_Tracking`
- `RW10131/Data/2024_SLS268/20240507/Pos1/SPIMA/Reg_Sample/For_Tracking`

**RW10598_retracked** — new strain, 3 positions (2023 re-tracking):
- `RW10598/2023_Data/Tracking/20230718/RW10598_NU/Pos1/SPIMB/Reg_Sample/For_Tracking`
- `RW10598/2023_Data/Tracking/20230718/RW10598_NU/Pos2/SPIMB/Reg_Sample/For_Tracking`
- `RW10598/2023_Data/Tracking/20230719/RW10598_NU/Pos4/SPIMB/Reg_Sample/For_Tracking`

**RW10896_retracked** — new strain, 3 positions (2023 imaging):
- `RW10896/Postwitching/2023_imaging/20231129/RW10896_NU/Pos1/SPIMB/Registered_Volumes/For_Tracking`
- `RW10896/Postwitching/2023_imaging/20231129/RW10896_NU/Pos2/SPIMB/Registered_Volumes/For_Tracking`
- `RW10896/Postwitching/2023_imaging/20231129/RW10896_NU/Pos3/SPIMB/Registered_Volumes/For_Tracking`
60 changes: 60 additions & 0 deletions config/convert_windows_paths.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#!/usr/bin/env julia
# Converts Windows-style paths in a config JSON to Unix-style paths.
# Usage: julia convert_windows_paths.jl [input.json [output.json]]
#
# Default input: config/windows/config_2026_03_19_v2.json
# Default output: config/linux/config_2026_03_19_v2.json
#
# Path mapping applied:
# X:\shrofflab\ → /nearline/shroff/shrofflab/
# remaining backslashes → forward slashes

using JSON3

const WINDOWS_PREFIX = Regex("^[A-Za-z]:\\\\shrofflab\\\\", "i")
const UNIX_PREFIX = "/nearline/shroff/shrofflab/"

function convert_path(s::AbstractString)
s = replace(s, WINDOWS_PREFIX => UNIX_PREFIX)
replace(s, '\\' => '/')
end

function convert_value(v)
if v isa AbstractString
return convert_path(v)
elseif v isa AbstractDict
return Dict(k => convert_value(val) for (k, val) in v)
elseif v isa AbstractArray
return [convert_value(el) for el in v]
else
return v
end
end

function main()
script_dir = dirname(abspath(@__FILE__))

input_path = length(ARGS) >= 1 ? ARGS[1] :
joinpath(script_dir, "windows", "config_2026_03_19_v2.json")

default_output_dir = joinpath(script_dir, "linux")
output_path = length(ARGS) >= 2 ? ARGS[2] :
joinpath(default_output_dir, basename(input_path))

isfile(input_path) || error("Input file not found: $input_path")

config = open(input_path) do io
JSON3.read(io, Dict{String,Any})
end
converted = convert_value(config)

mkpath(dirname(output_path))
open(output_path, "w") do io
JSON3.write(io, converted)
println(io) # trailing newline
end

println("Wrote converted config to: $output_path")
end

main()
Loading
Loading