Skip to content

Commit

Permalink
Update to newer packages (#5)
Browse files Browse the repository at this point in the history
  • Loading branch information
timholy authored Oct 24, 2023
1 parent 129ee60 commit 23c50cc
Show file tree
Hide file tree
Showing 14 changed files with 135 additions and 155 deletions.
69 changes: 69 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: CI
on:
push:
branches:
- main
tags: ['*']
pull_request:
concurrency:
# Skip intermediate builds: always.
# Cancel intermediate builds: only if it is a pull request build.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
version:
- '1.9'
- '1'
os:
- ubuntu-latest
arch:
- x64
steps:
- uses: actions/checkout@v3
- uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: julia-actions/cache@v1
- uses: julia-actions/julia-buildpkg@v1
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
HOME: /home/runner
- uses: julia-actions/julia-runtest@v1
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v3
with:
files: lcov.info
# docs:
# name: Documentation
# runs-on: ubuntu-latest
# permissions:
# contents: write
# statuses: write
# steps:
# - uses: actions/checkout@v3
# - uses: julia-actions/setup-julia@v1
# with:
# version: '1'
# - name: Configure doc environment
# run: |
# julia --project=docs/ -e '
# using Pkg
# Pkg.develop(PackageSpec(path=pwd()))
# Pkg.instantiate()'
# - uses: julia-actions/julia-buildpkg@v1
# - uses: julia-actions/julia-docdeploy@v1
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# - run: |
# julia --project=docs -e '
# using Documenter: DocMeta, doctest
# using TaylorRemainders
# DocMeta.setdocmeta!(TaylorRemainders, :DocTestSetup, :(using TaylorRemainders); recursive=true)
# doctest(TaylorRemainders)'
9 changes: 6 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
*.jl.cov
*.jl.*.cov
*.jl.cov
*.jl.mem
data
Manifest.toml
/Manifest.toml
/docs/Manifest.toml
/docs/build/
/deps/build.log
/data
33 changes: 0 additions & 33 deletions .travis.yml

This file was deleted.

41 changes: 21 additions & 20 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
name = "AllenBrain"
uuid = "0a79a13e-b89b-5a1e-b6bf-ef7ebeca6040"
authors = ["Tim Holy <[email protected]>"]
version = "0.1.0"
version = "0.2.0"

[deps]
AxisArrays = "39de3d68-74b9-583c-8d2d-e117c070f3a9"
ColorVectorSpace = "c3611d14-8923-5661-9e6a-0046d554d3a4"
CoordinateTransformations = "150eb455-5306-5404-9cee-2592286d6298"
FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549"
Graphs = "86223c79-3864-5bf0-83f7-82e725a168b6"
HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3"
ImageCore = "a09fc81d-aa75-5fe9-8630-4744c3626534"
ImageMagick = "6218d12a-5da1-5696-b52f-db25d2ecc6d1"
ImageTransformations = "02fcd773-0e25-5acc-982a-7f6622650795"
IndirectArrays = "9b13fd28-a010-5f03-acff-a1bbcff69959"
Interpolations = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59"
Expand All @@ -20,31 +19,33 @@ LightGraphs = "093fc24a-ae57-5d10-9952-331d41423f4d"
NRRD = "9bb6cfbd-7763-5393-b1b5-1c8e09872146"
OffsetArrays = "6fe1bfb0-de20-5000-8ca7-80f57d26f881"
ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca"
Requires = "ae029012-a4dd-5104-9daa-d747884805df"
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"

[weakdeps]
Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a"

[extensions]
AllenBrainMakieExt = "Makie"

[compat]
AxisArrays = "0.3, 0.4"
ColorVectorSpace = "0.6, 0.8"
CoordinateTransformations = "0.5"
AxisArrays = "0.4"
CoordinateTransformations = "0.6"
FileIO = "1"
HTTP = "0.8"
ImageCore = "0.8.1"
ImageMagick = "0.7, 1"
ImageTransformations = "0.7, 0.8"
IndirectArrays = "0.5"
Interpolations = "0.11, 0.12"
IntervalSets = "0.3, 0.4"
HTTP = "1"
ImageCore = "0.9, 0.10"
ImageTransformations = "0.10"
IndirectArrays = "1"
Interpolations = "0.14"
IntervalSets = "0.7"
JSON = "0.21"
LightGraphs = "1"
NRRD = "0.5, 0.6"
OffsetArrays = "0.11, 1"
NRRD = "0.6"
OffsetArrays = "1"
ProgressMeter = "1"
Requires = "1"
StaticArrays = "0.10, 0.11, 0.12"
Unitful = "0.17, 0.18, 1"
StaticArrays = "1"
Unitful = "1"
julia = "1.9"

[extras]
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
Expand Down
47 changes: 0 additions & 47 deletions appveyor.yml

This file was deleted.

6 changes: 3 additions & 3 deletions deps/build.jl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ genes = joinpath(mousedir, "genes.json")

if !isfile(sg)
rq = HTTP.request("GET", "http://api.brain-map.org/api/v2/structure_graph_download/1.json")
data = JSON.parse(String(rq.data))
data = JSON.parse(String(rq.body))
hierarchy = data["msg"][1]

open(sg, "w") do io
Expand All @@ -19,9 +19,9 @@ if !isfile(sg)
end

if !isfile(genes)
info("Downloading genes database. This will take a while, but only needs to be done once.")
@info "Downloading genes database. This will take a while, but only needs to be done once."
rq = HTTP.request("GET", "http://api.brain-map.org/api/v2/data/Gene/query.json?criteria=products[id\$eq1]"; query=Dict("num_rows"=>19991))
data = JSON.parse(String(rq.data))
data = JSON.parse(String(rq.body))
g = data["msg"]
open(genes, "w") do io
write(io, JSON.json(g))
Expand Down
14 changes: 14 additions & 0 deletions ext/AllenBrainMakieExt.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
module AllenBrainMakieExt

using AllenBrain, Makie

# NOTE: this was written against GLVisualize which is deprecated for
# Makie. The code below likely needs updating.
function AllenBrain.visualize_volume(volumedata)
window = Makie.glscreen()
volume = Makie.visualize(volumedata, :absorption)
Makie._view(volume, window)
@schedule Makie.renderloop(window)
end

end
19 changes: 2 additions & 17 deletions src/AllenBrain.jl
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,9 @@ module AllenBrain
using Statistics
using JSON, LightGraphs, IndirectArrays, AxisArrays, OffsetArrays
using StaticArrays, CoordinateTransformations
using ImageMagick, ImageTransformations, ImageCore, Interpolations
using ColorVectorSpace
using ImageTransformations, ImageCore, Interpolations
using IntervalSets, ProgressMeter, FileIO
using Unitful: μm
using Requires
import HTTP

export #
Expand Down Expand Up @@ -42,7 +40,7 @@ function dataset(species, category)
species == "mouse" && return joinpath(mousedir, "structure_graph.json")
elseif startswith(category, "annotation") && species == "mouse"
if !endswith(category, ".nrrd")
if !ismatch(r"[0-9]$", category)
if match(r"[0-9]$", category) === nothing
category = category*"_25"
end
category = category*".nrrd"
Expand Down Expand Up @@ -70,17 +68,4 @@ include("projections.jl")
include("genes.jl")
include("visualize.jl")

function __init__()
# NOTE: this was written against GLVisualize which is deprecated for
# Makie. The code below likely needs updating.
@require Makie="ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" begin
function visualize_volume(volumedata)
window = Makie.glscreen()
volume = Makie.visualize(volumedata, :absorption)
Makie._view(volume, window)
@schedule Makie.renderloop(window)
end
end
end

end # module
19 changes: 1 addition & 18 deletions src/genes.jl
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const planedict = Dict("coronal"=>1, "sagittal"=>2)

function query_insitu(key::AbstractString; plane="coronal", fieldname="acronym")
rq = HTTP.request("GET", "http://api.brain-map.org/api/v2/data/SectionDataSet/query.json?criteria=products[id\$eq1],genes[$fieldname\$eq'$key']&include=section_images,alignment3d,section_images(alignment2d)")
data = JSON.parse(String(rq.data))
data = JSON.parse(String(rq.body))
planeid = planedict[plane]
for sectiondataset in data["msg"]
if sectiondataset["plane_of_section_id"] == planeid
Expand Down Expand Up @@ -66,23 +66,6 @@ function download_insitu_images(sectiondataset::Dict, bb::BoundingBox, dirname;
"boundingbox"=>bb))
end

# showall(filenames)
# showall(slicepos)
# sz = imagesize(joinpath(dirname, filenames[1]))
# for i = 2:length(filenames)
# sz = map(max, sz, imagesize(joinpath(dirname, filenames[i])))
# end
# img2d = load(joinpath(dirname, first(filenames)))
# img = similar(img2d, sz[2], sz[1], length(filenames))
# fill!(img, zero(eltype(img)))
# for i = 1:length(filenames)
# fn = joinpath(dirname, filenames[i])
# if imagesize(fn) == sz
# img[:,:,i] = load(fn)
# end
# end
# resp = median(diff(slicepos))
# FileIO.save(joinpath(dirname, "merged.nrrd"), AxisArray(img, (:P, :I, :R), (resp, res, res)))

# function download_insitu_images(genekey::AbstractString, x, y, dirname=genekey; plane="coronal", fieldname="acronym", downsample=0)
# if !isdir(dirname)
Expand Down
10 changes: 2 additions & 8 deletions src/images.jl
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ function query_reference2image(sectiondataset::Dict, x, y, z)
xr, yr, zr = inmicrons(x), inmicrons(y), inmicrons(z)
str = "http://api.brain-map.org/api/v2/reference_to_image/$refspace.json?x=$xr&y=$yr&z=$zr&section_data_set_ids=$id"
rq = HTTP.request("GET", str)
data = JSON.parse(String(rq.data))
data = JSON.parse(String(rq.body))
data["msg"][1]["image_sync"]
end

Expand All @@ -24,7 +24,7 @@ return the posterior, inferior, right coordinates `p`, `i`, `r` in microns.
function query_image2reference(sectionimageid::Integer, x, y)
str = "http://api.brain-map.org/api/v2/image_to_reference/$sectionimageid.json?x=$x&y=$y"
rq = HTTP.request("GET", str)
data = JSON.parse(String(rq.data))
data = JSON.parse(String(rq.body))
ret = data["msg"]["image_to_reference"]
ret["x"], ret["y"], ret["z"]
end
Expand Down Expand Up @@ -159,9 +159,3 @@ function isinrange(idx, pos, x, Δx)
1 <= idx <= length(pos) || return false
abs(pos[idx] - x) <= Δx
end

function imagesize(filename)
wand = ImageMagick.MagickWand()
ImageMagick.readimage(wand, filename)
size(wand)
end
6 changes: 3 additions & 3 deletions src/ontology.jl
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ end
Return the structure graph `g` and list `vertexlist` of metadata for nodes.
"""
function ontology(filename)
str = readstring(dataset(filename, "ontology"))
str = read(dataset(filename, "ontology"), String)
hierarchy = JSON.parse(str)
g = DiGraph()
add_vertex!(g) # for the root node
Expand Down Expand Up @@ -49,9 +49,9 @@ function annotation(resolution=50; species="mouse")
return AxisArray(anno.data, (:P, :I, :R), (r, r, r))
end

function download_annotation(resolution=50)
function download_annotation(resolution=50; species="mouse", year=2016)
dest = joinpath(mousedir, "annotation_$resolution.nrrd")
download("http://download.alleninstitute.org/informatics-archive/current-release/mouse_ccf/annotation/ccf_2016/annotation_$resolution.nrrd", dest)
download("http://download.alleninstitute.org/informatics-archive/current-release/$(species)_ccf/annotation/ccf_$year/annotation_$resolution.nrrd", dest)
end

"""
Expand Down
2 changes: 1 addition & 1 deletion src/projections.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
function query_projection(id)
rq = HTTP.request("GET", "http://api.brain-map.org/api/v2/data/WellKnownFile/query.json?criteria=well_known_file_type[name\$eq'ImagesResampledTo25MicronARA'][attachable_id\$eq$id]")
data = JSON.parse(String(rq.data))
data = JSON.parse(String(rq.body))
data["msg"][1]
end

Expand Down
Loading

0 comments on commit 23c50cc

Please sign in to comment.