Skip to content

Ozx support#56

Merged
davehorsfall merged 28 commits intodevfrom
ozx_support
Mar 23, 2026
Merged

Ozx support#56
davehorsfall merged 28 commits intodevfrom
ozx_support

Conversation

@AlexSurtees
Copy link
Copy Markdown
Collaborator

@AlexSurtees AlexSurtees commented Mar 10, 2026

Description

  1. Implement error handling and warning snackbar/toast
  2. Add full .ozx support

Fixes # (issue)
#46 #43 #40 #29 #27 #19
Related to # (if applicable)

Type of change

  • 🐛 Bug fix (non-breaking change that resolves an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • ⚡ Optimisation (non-breaking improvement to performance or efficiency)
  • 🧩 Documentation (adds or improves documentation)
  • 🧱 Maintenance (refactor, dependency update, CI/CD, etc.)
  • 🔥 Breaking change (fix or feature that causes existing functionality to change)

@netlify
Copy link
Copy Markdown

netlify Bot commented Mar 10, 2026

Deploy Preview for biongff-vizarr ready!

Name Link
🔨 Latest commit c44ce8a
🔍 Latest deploy log https://app.netlify.com/projects/biongff-vizarr/deploys/69bc1563a84280000996e36b
😎 Deploy Preview https://deploy-preview-56--biongff-vizarr.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Comment thread viewer/package.json Outdated
"@zarrita/storage": "0.1.3",
"@zarrita/storage": "0.1.4",
"deck.gl": "~9.0.0",
"http-server": "^14.1.1",
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Why has this been added as a dep? Where is it being used?

Comment thread viewer/vite.config.js Outdated

import react from "@vitejs/plugin-react";
import { defineConfig } from "vite";
import { defineConfig, loadEnv } from "vite";
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Why is loadEnv loaded here?

Comment thread viewer/src/components/Viewer.tsx Outdated
import { useViewState } from "../hooks";
import { useAxisNavigation } from "../hooks/useAxisNavigation";
import { layerAtoms, viewportAtom } from "../state";
import { layerAtoms, sourceErrorAtom, viewportAtom } from "../state";
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Are these additions needed, or leftovers?

Comment thread viewer/src/components/Viewer.tsx Outdated
import { fitImageToViewport, getLayerSize, resolveLoaderFromLayerProps } from "../utils";

import type { DeckGLRef, OrthographicViewState, PickingInfo } from "deck.gl";
import { useSetAtom } from "jotai";
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Are these additions needed, or leftovers?

Comment thread viewer/src/utils.ts
*/

export function resolveAttrs(attrs: zarr.Attributes): zarr.Attributes {
if ("omero" in attrs && "ome" in attrs) {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

My understanding here, is that this addition is to handle mixed OME metadata formats more robustly. Specifically, if both ome AND omero exist, then construct a merged, normalised object.

I think we both agree, it can be very difficult to quickly and intuitively understand, at a glance, how this type of decision making is done throughout the viewer. Especially as the Viewer is retrosepctively trying to support older metadata schemas (such as this OMERO-style metadata).

Not for this PR, but can we open an issue on how to capture an overview of this decision making? I think I'm imaging a graphical decision tree, that outlines when a slight deviation from the NGFF schema is caught (for example this Channel info being in the OMERO-style metadata).

@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 19, 2026

Codecov Report

❌ Patch coverage is 46.15385% with 14 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
viewer/src/utils.ts 16.66% 9 Missing and 1 partial ⚠️
viewer/src/ome.ts 75.00% 3 Missing ⚠️
viewer/src/io.ts 0.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@AlexSurtees
Copy link
Copy Markdown
Collaborator Author

@davehorsfall thanks for the review. I have addressed your comments, merged dev, and added a test for the kingsnake.ozx file. Happy for you to accept and merge if you are happy.

@davehorsfall davehorsfall merged commit bd800c9 into dev Mar 23, 2026
7 checks passed
@davehorsfall davehorsfall deleted the ozx_support branch March 23, 2026 10:23
@davehorsfall
Copy link
Copy Markdown
Collaborator

🎉 This PR is included in version 1.2.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants