-
Notifications
You must be signed in to change notification settings - Fork 29
Read Zarr Connectome Files #8717
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+799
−351
Merged
Changes from all commits
Commits
Show all changes
141 commits
Select commit
Hold shift + click to select a range
4dd9409
WIP: Read zarr agglomerate files
fm3 380bd69
zarr group path
fm3 7fb643f
test reading from zarr array
fm3 f987ebf
axisOrder: make y optional
fm3 935571a
Merge branch 'master' into agglomerates-zarr
fm3 7c1cc8b
undo attempt to make axisOrder.y optional
fm3 5af14fc
read multi array, ignoring underlying storage and axis order
fm3 f055c1e
apply agglomerate
fm3 13ff0e3
offset can be long; pass tokencontext
fm3 d853389
WIP read agglomerate skeleton
fm3 56ce08b
fix reading agglomerate skeleton
fm3 2855d2b
Change DatasetArray shape from Int to Long. Implement reading largest…
fm3 4ed5483
remove unused agglomeratesForAllSegments
fm3 7f8f662
Merge branch 'master' into agglomerates-zarr
fm3 291aab5
add shortcut for shape.product==0; implement segmentIdsForAgglomerateId
fm3 0439bce
remove unused test
fm3 11027d7
implement positionForSegmentId; agglomerateIdsForSegmentIds
fm3 0c5d647
select mapping by request
fm3 90d97cd
shortcut for single-dimension shape+offset
fm3 8551f99
handle uint32 agglomerate_to_segments arrays
fm3 d183c99
useZarr=false to test ci
fm3 cd04466
change chunkIndices back to list
fm3 9eac53d
use headOption instead of list deconstruction
fm3 0105b8e
Merge branch 'master' into agglomerates-zarr
fm3 fd7a281
WIP distinguish btw hdf5 and zarr according to registered layer attac…
fm3 19641af
pass datasource id + layer
fm3 716794d
list attached agglomerate files
fm3 feb8cb4
format
fm3 5c924dc
Merge branch 'master' into agglomerates-zarr
fm3 f040483
use agglomeratefilekey as cache key for proper cache clear support
fm3 e781baf
clear agglomerate caches on layer/ds reload
fm3 419490f
avoid injection
fm3 9c78167
prioritize WebknossosZarrExplorer
fm3 fdd7b4a
cleanup
fm3 09dfc0c
changelog
fm3 10dc7c3
make dummy datasource id more explicit
fm3 73b2f80
WIP Read Zarr Meshfiles
fm3 ca30ebe
read metadata from zarr group header
fm3 29073e8
wip read neuroglancer segment manifests
fm3 41de8c8
enrich
fm3 adb7d07
find local offset in bucket
fm3 e63fb2a
sort meshfile services, lookup with MeshFileKey
fm3 fd8dc30
move more code
fm3 0f9e5c8
Merge branch 'master' into meshfile-zarr
fm3 00e775c
iterate on meshfile services
fm3 7d51512
adapt frontend to simplified protocol
fm3 5d1b768
keys
fm3 ca64481
Merge branch 'master' into agglomerates-zarr
fm3 8cf2853
Merge branch 'agglomerates-zarr' into meshfile-zarr
fm3 16b38d6
explore + list meshfiles
fm3 7c94d31
fix frontend type
fm3 93d560c
adapt schema to neuroglancerPrecomputed dataformat for attachments
fm3 74a0bc3
Merge branch 'master' into agglomerates-zarr
fm3 12a6423
Merge branch 'agglomerates-zarr' into meshfile-zarr
fm3 1d492d1
adapt to new json format
fm3 9af3004
clear caches
fm3 331d178
some cleanup
fm3 43d9051
in list request, only return successes
fm3 d6a9817
add migration to guide
fm3 73a7ac2
unify spelling meshFile
fm3 16ae134
fix class injection
fm3 8077858
Adapt full mesh service; introduce credentials for attachments
fm3 7d676bf
fix updating job status for jobs with no credit transactions
fm3 76cd9d6
fix adhocMag selection in create animation modal
fm3 09567eb
make typechecker happy
fm3 f79b171
Merge branch 'master' into agglomerates-zarr
fm3 e170ebe
pr feedback; add services as singletons for proper cache use
fm3 b76d473
Merge branch 'agglomerates-zarr' into meshfile-zarr
fm3 1360184
address coderabbit review suggestions
fm3 72d5c5b
typo
fm3 0c961eb
Fix dtype bug, remove singleton instantiations again
fm3 365ec5d
rename lookup function as suggested in pr review
fm3 be77185
add ucar dependency resolver
fm3 5920905
remove sciJava resolver
fm3 753c25b
Revert "remove sciJava resolver"
fm3 11d2611
Revert "add ucar dependency resolver"
fm3 a9aed9e
Merge branch 'master' into agglomerates-zarr
fm3 bb07185
Merge branch 'master' into agglomerates-zarr
fm3 d7a667a
Merge branch 'master' into agglomerates-zarr
fm3 2c53ae6
Merge branch 'agglomerates-zarr' into meshfile-zarr
fm3 cdd3075
Merge branch 'master' into meshfile-zarr
fm3 0fddb3d
unify function names
fm3 6f8ed21
Merge branch 'master' into meshfile-zarr
fm3 c5f12f5
WIP: Read Zarr Segment Index Files
fm3 b294061
introduce abstraction for attached segment index files
fm3 d47b240
implement arrSegmentIndexFileService
fm3 b1f5831
Correctly read segment index file as mag1 segment positions
fm3 d34fe29
unused imports
fm3 0f10892
Merge branch 'master' into meshfile-zarr
fm3 0eb73d2
implement pr feedback
fm3 9217eb5
unused import
fm3 63c5ebe
Merge branch 'meshfile-zarr' into zarr-segment-index
fm3 537a824
Merge branch 'master' into meshfile-zarr
fm3 fd932e6
same cleanup also when looking up agglomerates
fm3 99ec110
Merge branch 'meshfile-zarr' into zarr-segment-index
fm3 05f477d
add cache clear for segment index files
fm3 dd0e803
changelog
fm3 5318f06
WIP: Read Zarr Connectome Files
fm3 1d79dfc
WIP list +lookup
fm3 0b98d57
Merge branch 'master' into meshfile-zarr
fm3 d6f11cb
delegate to correct service depending on attachment dataformat
fm3 08b57fd
hard coded synapse type names for hdf5
fm3 56f8385
Update webknossos-datastore/app/com/scalableminds/webknossos/datastor…
fm3 c3dc703
Merge branch 'master' into meshfile-zarr
fm3 4f313b4
Merge branch 'meshfile-zarr' into zarr-segment-index
fm3 ed53532
Merge branch 'zarr-segment-index' into zarr-connectome
fm3 36f4cf8
read attributes
fm3 325d784
move functions used in both hdf5 and zarr case up to ConnectomeFileSe…
fm3 75fbccf
Merge branch 'master' into meshfile-zarr
MichaelBuessemeyer e50dc66
implement first functions in zarr connectome file service
fm3 95a8dab
implement remaining features
fm3 5c390ea
cache clear, cleanup
fm3 6706343
changelog
fm3 b01ce43
Merge branch 'master' into meshfile-zarr
fm3 b36841a
Merge branch 'meshfile-zarr' into zarr-segment-index
fm3 33eeba0
Merge branch 'zarr-segment-index' into zarr-connectome
fm3 78fefbc
Merge branch 'master' into zarr-segment-index
fm3 7532b61
Merge branch 'zarr-segment-index' into zarr-connectome
fm3 aed235e
fix error message
fm3 7761d41
normalize paths; fix reading connectome file metadata; inline delegat…
fm3 1fbf7b7
correctly look up local fallback hdf5 files
fm3 f3f5077
read correct arrays; fix returning fill value when whole shard is mis…
fm3 1f12060
Merge branch 'master' into zarr-segment-index
fm3 5fc925b
Merge branch 'zarr-segment-index' into zarr-connectome
fm3 9e73f73
Merge branch 'master' into zarr-segment-index
fm3 661b258
implement pr feedback; extract common string values to traits
fm3 313838c
format
fm3 2ab3ab2
Merge branch 'master' into zarr-segment-index
MichaelBuessemeyer 53570e6
Merge branch 'zarr-segment-index' into zarr-connectome
fm3 f6ddc57
extract string constants to ConnectomeFileUtils
fm3 1687300
Merge branch 'master' into zarr-connectome
fm3 b18eb66
once more csc csr typo
fm3 66c6197
Merge branch 'master' into zarr-connectome
fm3 871256d
fix typos in error messages
fm3 d065282
Merge branch 'zarr-connectome' of github.com:scalableminds/webknossos…
fm3 79603c0
Merge branch 'master' into zarr-connectome
fm3 09ef7a5
implement pr feedback (part 1)
fm3 6beaf69
catch toPtr<fromPtr
fm3 6280991
add finishAccess calls to allow cache release
fm3 2974e9f
add missing cache clear; flip >=
fm3 ad2f59b
Merge branch 'master' into zarr-connectome
fm3 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
### Added | ||
- Connectomes can now also be read from the new zarr3-based format, and from remote object storage. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A high level thing I just noticed: Why do you always "load" the
dataLayer
and pass it to thelookUp....FileKey
functions? At least forlookUpConnectomeFileKey
only thedataLayer.name
prop is being used. But isn'tdataLayer.name
equal todataLayerName
?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
True, that’s the same value. However, the lookUp* functions also use dataLayer.attachments, which needs the full layer. Also,
getDataSourceAndDataLayer
is cheap as it only uses the in-memory dataSourceRepository. So we can use it to also validate that the dataSource really exists, even if we then only use dataSource.id