diff --git a/CHANGELOG.unreleased.md b/CHANGELOG.unreleased.md index e4e02843cd7..1f0225d766c 100644 --- a/CHANGELOG.unreleased.md +++ b/CHANGELOG.unreleased.md @@ -28,13 +28,14 @@ For upgrade instructions, please check the [migration guide](MIGRATIONS.released - Fixed a bug that uploading a zarr dataset with an already existing `datasource-properties.json` file failed. [#8268](https://github.com/scalableminds/webknossos/pull/8268) - Fixed the organization switching feature for datasets opened via old links. [#8257](https://github.com/scalableminds/webknossos/pull/8257) - Fixed that uploading an NML file without an organization id failed. Now the user's organization is used as fallback. [#8277](https://github.com/scalableminds/webknossos/pull/8277) -- Fixed that the frontend did not ensure a minium length for annotation layer names. Moreover, names starting with a `.` are also disallowed now. [#8244](https://github.com/scalableminds/webknossos/pull/8244) +- Fixed that the frontend did not ensure a minimum length for annotation layer names. Moreover, names starting with a `.` are also disallowed now. [#8244](https://github.com/scalableminds/webknossos/pull/8244) - Fixed a bug where in the add remote dataset view the dataset name setting was not in sync with the datasource setting of the advanced tab making the form not submittable. [#8245](https://github.com/scalableminds/webknossos/pull/8245) - Fix read and update dataset route for versions 8 and lower. [#8263](https://github.com/scalableminds/webknossos/pull/8263) - Fixed that task bounding boxes are again converted to user bounding boxes when uploading annotations via nmls. [#8280](https://github.com/scalableminds/webknossos/pull/8280) - Added missing legacy support for `isValidNewName` route. [#8252](https://github.com/scalableminds/webknossos/pull/8252) - Fixed some layout issues in the upload view. [#8231](https://github.com/scalableminds/webknossos/pull/8231) - Fixed `FATAL: role "postgres" does not exist` error message in Docker compose. [#8240](https://github.com/scalableminds/webknossos/pull/8240) +- Fixed the Zarr 3 implementation not accepting BytesCodec without "configuration" key. [#8282](https://github.com/scalableminds/webknossos/pull/8282) ### Removed - Removed support for HTTP API versions 3 and 4. [#8075](https://github.com/scalableminds/webknossos/pull/8075) diff --git a/MIGRATIONS.unreleased.md b/MIGRATIONS.unreleased.md index 681f5a88093..6e0d5ec66d8 100644 --- a/MIGRATIONS.unreleased.md +++ b/MIGRATIONS.unreleased.md @@ -8,6 +8,7 @@ User-facing changes are documented in the [changelog](CHANGELOG.released.md). ## Unreleased [Commits](https://github.com/scalableminds/webknossos/compare/24.12.0...HEAD) - Removed support for HTTP API versions 3 and 4. [#8075](https://github.com/scalableminds/webknossos/pull/8075) +- New FossilDB version `0.1.33` (docker image `scalableminds/fossildb:master__504`) is required. ### Postgres Evolutions: - [124-decouple-dataset-directory-from-name](conf/evolutions/124-decouple-dataset-directory-from-name) diff --git a/docker-compose.yml b/docker-compose.yml index 879f777e4f7..8d811af7dfe 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -269,7 +269,7 @@ services: # FossilDB fossildb: - image: scalableminds/fossildb:master__484 + image: scalableminds/fossildb:master__504 command: - fossildb - -c diff --git a/docs/publications.md b/docs/publications.md index 5fd7d9aa347..bab84496141 100644 --- a/docs/publications.md +++ b/docs/publications.md @@ -1,6 +1,105 @@ # Publications The following publications used WEBKNOSSOS for exploring large 3D electron-microscopy (EM) and light-microscopy (LM) datasets as well as collaboratively generating annotations or other tasks. Please [get in touch with us](mailto:hello@webknossos.org) if your publication is missing. +## 2024 +* Andrea Nathansen, Matthis Clausen, Manuel Berning, Ethan MacKenzie, Yuxin Zhang, Alexandra Pacureanu, Andreas T. Schaefer, Norman Rzepka, & Carles Bosch. + Cell nuclei segmentation in mm-scale x-ray holographic nanotomography images of mouse brain tissue. + [Developments in X-Ray Tomography XV. Vol. 13152. SPIE (2024). DOI: 10.1117/12.3028309](https://doi.org/10.1117/12.3028309) + **View data [#1](https://wklink.org/9238) [#2](https://wklink.org/9123)** in WEBKNOSSOS + +* Anja Günther, Silke Haverkamp, Stephan Irsen, Paul V. Watkins, Karin Dedek, Henrik Mouritsen & Kevin L. Briggman. + Species–specific circuitry of double cone photoreceptors in two avian retinas. + [Communications Biology 7.1 (2024). DOI: 10.1038/s42003-024-06697-2](https://doi.org/10.1038/s42003-024-06697-2) + [**View data**](https://webknossos.mpinb.mpg.de/datasets/Briggman%20Lab/robin-retina-compressed-3/view#145000,59392,512,0,1.3) in WEBKNOSSOS + +* Yan Lu, Jing Liu, Bei Li, Haoyu Wang , Fangfang Wang , Shengxiong Wang , Hao Wu , Hua Han & Yunfeng Hua. + Spatial patterns of noise-induced inner hair cell ribbon loss in the mouse mid-cochlea. + [Iscience 27.2 (2024). DOI: 10.1016/j.isci.2024.108825](https://doi.org/10.1016/j.isci.2024.108825) + **View data + [#1](https://wklink.org/3892) + [#2](https://wklink.org/7172) + [#3](https://wklink.org/1329) + [#4](https://wklink.org/9122) + [#5](https://wklink.org/7842) + [#6](https://wklink.org/1728)** in WEBKNOSSOS + +* Meike Sievers, Alessandro Motta, Martin Schmidt, Yagmur Yener, Sahil Loomba, Kun Song, Johannes Bruett, & Moritz Helmstaedter. + Connectomic reconstruction of a cortical column. + [bioRxiv (2024). DOI: 2024.03.22.586254](https://doi.org/10.1101/2024.03.22.586254) + +* Martin Schmidt, Alessandro Motta, Meike Sievers & Moritz Helmstaedter. + RoboEM: automated 3D flight tracing for synaptic-resolution connectomics. + [Nature Methods 21.5 (2024). DOI: 10.1038/s41592-024-02226-5](https://doi.org/10.1038/s41592-024-02226-5) + +* Rosanna P. Sammons, Mourat Vezir, Laura Moreno-Velasquez, Gaspar Cano, Marta Orlando, Meike Sievers, Eleonora Grasso, Verjinia D. Metodieva, Richard Kempter, Helene Schmidt, & Dietmar Schmitz. + Structure and function of the hippocampal CA3 module. + [Proceedings of the National Academy of Sciences 121.6 (2024). DOI: 10.1073/pnas.2312281120](https://doi.org/10.1073/pnas.2312281120) + +* Julia M. Michalska, Julia Lyudchik, Philipp Velicky, Hana Štefaničková, Jake F. Watson, Alban Cenameri, Christoph Sommer, Nicole Amberg, Alessandro Venturino, Karl Roessler, Thomas Czech, Romana Höftberger, Sandra Siegert, Gaia Novarino, Peter Jonas & Johann G. Danzl. + Imaging brain tissue architecture across millimeter to nanometer scales. + [Nature Biotechnology 42.7 (2024). DOI: 10.1038/s41587-023-01911-8](https://doi.org/10.1038/s41587-023-01911-8) + +* Hongcheng Mai, Jie Luo, Luciano Hoeher, Rami Al-Maskari, Izabela Horvath, Ying Chen, Florian Kofler, Marie Piraud, Johannes C. Paetzold, Jennifer Modamio, Mihail Todorov, Markus Elsner, Farida Hellal & Ali Ertürk. + Whole-body cellular mapping in mouse using standard IgG antibodies. + [Nature Biotechnology 42.4 (2024). DOI: 10.1038/s41587-023-01846-0](https://doi.org/10.1038/s41587-023-01846-0) + [**View data**](https://webknossos.org/publications/64aeaa06fcf33704ca101ceb) in WEBKNOSSOS. + +* Kievits, Arent J., Duinkerken, B. H. Peter, Lane, Ryan, de Heus, Cecilia, van Beijeren Bergen en Henegouwen, Daan, Höppener, Tibbe, Wolters, Anouk H. G., Liv, Nalan, Giepmans, Ben N. G. and Hoogenboom, Jacob P.. + FAST-EM array tomography: a workflow for multibeam volume electron microscopy + [Methods in Microscopy (2024). DOI: 10.1515/mim-2024-0005](https://doi.org/10.1515/mim-2024-0005) + +* Yan Lu, Yi Jiang, Fangfang Wang, Hao Wu & Yunfeng Hua. + Electron Microscopic Mapping of Mitochondrial Morphology in the Cochlear Nerve Fibers. + [Journal of the Association for Research in Otolaryngology 25.4 (2024). DOI: 10.1007/s10162-024-00957-y](https://doi.org/10.1007/s10162-024-00957-y) + +* Vandana Sampathkumar, Kevin P. Koster, Briana J. Carroll, S. Murray Sherman, & Narayanan Kasthuri. + Synaptic integration of somatosensory and motor cortical inputs onto spiny projection neurons of mice caudoputamen. + [European Journal of Neuroscience 60.8 (2024). DOI: 10.1111/ejn.16538](https://doi.org/10.1111/ejn.16538) + +* Angeles Salles, Emely Loscalzo, Jessica Montoya, Rosa Mendoza, Kevin M. Boergens & Cynthia F. Moss. + Auditory processing of communication calls in interacting bats. + [Iscience 27.6 (2024). DOI: 10.1016/j.isci.2024.109872](https://doi.org/10.1016/j.isci.2024.109872) + +* Wen-Qing Huang, Haibin Sheng, Haoyu Wang, Yumeng Qi, Fangfang Wang, & Yunfeng Hua. + Volume electron microscopy reveals age-related ultrastructural differences of globular bush cell axons in mouse central auditory system. + [Neurobiology of Aging 136 (2024). DOI: 10.1016/j.neurobiolaging.2024.01.016](https://doi.org/10.1016/j.neurobiolaging.2024.01.016) + +* Yi Jiang, Haoyu Wang, Kevin Boergens, Norman Rzepka, Fangfang Wang, & Yunfeng Hua. + Efficient cell-wide mapping of mitochondria in electron microscopic volumes using webKnossos. + [bioRxiv (2024). DOI: 10.1101/2024.10.20.619271](https://doi.org/10.1101/2024.10.20.619271) + +* Yuh-Tarng Chen, Dominica de Thomas Wagner, Alastair J. Loutit, Ali Nourizonoz, Mary-Claude Croisier-Coeytaux, Jérôme Blanc, Graham Knott, Kuo-Sheng Lee, & Daniel Huber. + Lamellar Schwann cells in the Pacinian corpuscle potentiate vibration perception. + [bioRxiv (2024). DOI: 10.1101/2024.08.23.609459](https://doi.org/10.1101/2024.08.23.609459) + +* Rafael Luján, Marta Turegano-Lopez, Carolina Aguado, & Angel Merchan-Perez. + Two- and three-dimensional electron microscopy techniques: powerful tools for studying the brain under physiological and pathological conditions. + [Advanced Technology in Neuroscience 1.2 (2024). DOI: 10.4103/ATN.ATN-D-24-00009](https://doi.org/10.4103/atn.atn-d-24-00009) + +* Nare Karagulyan, Maja Überegger, Yumeng Qi, Norbert Babai, Florian Hofer, Lejo Johnson Chacko, Fangfang Wang, Maria Luque, Rudolf Glueckert, Anneliese Schrott-Fischer, Yunfeng Hua, Tobias Moser, & Christine Bandtlow. + Probing the role of synaptic adhesion molecule RTN4RL2 in setting up cochlear connectivity. + [bioRxiv (2024). DOI: 10.1101/2024.09.16.613011](https://doi.org/10.1101/2024.09.16.613011) + +* Kristina D Micheva, Anish K Simhal, Jenna Schardt, Stephen J Smith, Richard J Weinberg, & Scott F Owen. + Data-driven synapse classification reveals a logic of glutamate receptor composition. + [bioRxiv (2024). DOI: 10.1101/2024.12.11.628056](https://doi.org/10.1101/2024.12.11.628056) + +* Guangmei Liu, Shruthi Bandyadka, & Kimberly McCall. + Protocol to analyze 3D neurodegenerative vacuoles in Drosophila melanogaster. + [STAR protocols 5.2 (2024). DOI: 10.1016/j.xpro.2024.103017](https://doi.org/10.1016/j.xpro.2024.103017) + +* Jakob Reichmann, Jonas Franz, Marina Eckermann, Katja Schulz, Brit Mollenhauer, Christine Stadelmann, & Tim Salditt. + 3D imaging of neuronal inclusions and protein aggregates in human neurodegeneration by multiscale X-ray phase-contrast tomography. + [medRxiv (2024). DOI: 10.1101/2024.03.26.24304193](https://doi.org/10.1101/2024.03.26.24304193) + +* Tay Won Shin, Hao Wang, Chi Zhang, Bobae An, Yangning Lu, Elizabeth Zhang, Xiaotang Lu, Emmanouil D. Karagiannis, Jeong Seuk Kang, Amauche Emenari, Panagiotis Symvoulidis, Shoh Asano, Leanne Lin, Emma K. Costa; IMAXT Grand Challenge Consortium, Adam H. Marblestone, Narayanan Kasthuri, Li-Huei Tsai, Edward S. Boyden. + Dense, Continuous Membrane Labeling and Expansion Microscopy Visualization of Ultrastructure in Tissues. + [bioRxiv (2024). DOI: 10.1101/2024.03.07.583776](https://doi.org/10.1101/2024.03.07.583776) + +* Norman Rzepka. + Next-generation file formats (NGFF), RFC 2: Specification for using Zarr v3 in OME-Zarr + [NGFF RFC 2 (2024)](https://ngff.openmicroscopy.org/rfc/2/index.html). + ## 2023 * Tri M. Nguyen, Logan A. Thomas, Jeff L. Rhoades, Ilaria Ricchi, Xintong Cindy Yuan, Arlo Sheridan, David G. C. Hildebrand, Jan Funke, Wade G. Regehr & Wei-Chung Allen Lee. Structured cerebellar connectivity supports resilient pattern separation. diff --git a/fossildb/version b/fossildb/version index db7a480479e..50140e35363 100644 --- a/fossildb/version +++ b/fossildb/version @@ -1 +1 @@ -0.1.31 +0.1.33 diff --git a/tools/hosting/docker-compose.yml b/tools/hosting/docker-compose.yml index f60b1c09b55..997cd9ead41 100644 --- a/tools/hosting/docker-compose.yml +++ b/tools/hosting/docker-compose.yml @@ -2,7 +2,7 @@ version: "2.2" services: webknossos: - image: scalableminds/webknossos:${DOCKER_TAG:-23.04.0} + image: scalableminds/webknossos:${DOCKER_TAG:-24.12.0} ports: - "127.0.0.1:9000:9000" depends_on: @@ -58,7 +58,7 @@ services: # FossilDB fossildb: - image: scalableminds/fossildb:master__489 + image: scalableminds/fossildb:master__504 command: - fossildb - -c diff --git a/webknossos-datastore/app/com/scalableminds/webknossos/datastore/datareaders/zarr3/Zarr3ArrayHeader.scala b/webknossos-datastore/app/com/scalableminds/webknossos/datastore/datareaders/zarr3/Zarr3ArrayHeader.scala index 1706960b235..4d4caf26967 100644 --- a/webknossos-datastore/app/com/scalableminds/webknossos/datastore/datareaders/zarr3/Zarr3ArrayHeader.scala +++ b/webknossos-datastore/app/com/scalableminds/webknossos/datastore/datareaders/zarr3/Zarr3ArrayHeader.scala @@ -211,12 +211,19 @@ object Zarr3ArrayHeader extends JsonImplicits { val codecSpecs = rawCodecSpecs.map(c => { for { spec: CodecConfiguration <- c("name") match { - case JsString(BytesCodecConfiguration.name) => c(configurationKey).validate[BytesCodecConfiguration] - case JsString(BytesCodecConfiguration.legacyName) => c(configurationKey).validate[BytesCodecConfiguration] - case JsString(TransposeCodecConfiguration.name) => c(configurationKey).validate[TransposeCodecConfiguration] - case JsString(GzipCodecConfiguration.name) => c(configurationKey).validate[GzipCodecConfiguration] - case JsString(BloscCodecConfiguration.name) => c(configurationKey).validate[BloscCodecConfiguration] - case JsString(ZstdCodecConfiguration.name) => c(configurationKey).validate[ZstdCodecConfiguration] + // BytesCodec may have no "configuration" key + case JsString(BytesCodecConfiguration.name) => + (c \ configurationKey).toOption + .map(_.validate[BytesCodecConfiguration]) + .getOrElse(JsSuccess(BytesCodecConfiguration(None))) + case JsString(BytesCodecConfiguration.legacyName) => + (c \ configurationKey).toOption + .map(_.validate[BytesCodecConfiguration]) + .getOrElse(JsSuccess(BytesCodecConfiguration(None))) + case JsString(TransposeCodecConfiguration.name) => c(configurationKey).validate[TransposeCodecConfiguration] + case JsString(GzipCodecConfiguration.name) => c(configurationKey).validate[GzipCodecConfiguration] + case JsString(BloscCodecConfiguration.name) => c(configurationKey).validate[BloscCodecConfiguration] + case JsString(ZstdCodecConfiguration.name) => c(configurationKey).validate[ZstdCodecConfiguration] case JsString(Crc32CCodecConfiguration.name) => JsSuccess(Crc32CCodecConfiguration) // Crc32 codec has no configuration case JsString(ShardingCodecConfiguration.name) => readShardingCodecConfiguration(c(configurationKey)) diff --git a/yarn.lock b/yarn.lock index f1575bb6d87..f0f5be91425 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9330,11 +9330,11 @@ __metadata: linkType: hard "nanoid@npm:^3.3.1": - version: 3.3.2 - resolution: "nanoid@npm:3.3.2" + version: 3.3.8 + resolution: "nanoid@npm:3.3.8" bin: nanoid: bin/nanoid.cjs - checksum: 10c0/48a0e9e9f80ced7a7eedf4017236e355eb48284b2bc65e7d75df6348e679b5762ce2e4b375977222c9b4399729a4e564c53bcde814d405c135b0f77a24ecb27c + checksum: 10c0/4b1bb29f6cfebf3be3bc4ad1f1296fb0a10a3043a79f34fbffe75d1621b4318319211cd420549459018ea3592f0d2f159247a6f874911d6d26eaaadda2478120 languageName: node linkType: hard