Skip to content

Optional link in MicroscopyResponseSeries to MicroscopySeries #66

Merged
alessandratrapani merged 10 commits intov0.3.xfrom
optional-link-in-microscopyresponseseries-to-microscopyseries
Jun 3, 2025
Merged

Optional link in MicroscopyResponseSeries to MicroscopySeries #66
alessandratrapani merged 10 commits intov0.3.xfrom
optional-link-in-microscopyresponseseries-to-microscopyseries

Conversation

@alessandratrapani
Copy link
Copy Markdown
Collaborator

Fix #58

  • add link to MicroscopyResponseSeries in namespace
  • update mock function
  • update testing
  • update README
  • update notebooks
  • update documentation
  • update CHANGELOG

@alessandratrapani alessandratrapani self-assigned this May 30, 2025
@alessandratrapani alessandratrapani changed the base branch from main to v0.3.x May 30, 2025 11:48
Copy link
Copy Markdown
Member

@weiglszonja weiglszonja left a comment

Choose a reason for hiding this comment

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

Makes sense, thank you!

@alessandratrapani alessandratrapani merged commit efde20a into v0.3.x Jun 3, 2025
37 checks passed
@alessandratrapani alessandratrapani deleted the optional-link-in-microscopyresponseseries-to-microscopyseries branch June 3, 2025 11:12
alessandratrapani added a commit that referenced this pull request Jun 3, 2025
* Add MicroscopyChannel object (#59)

* add MicroscopyChannel to namespace

* add mock function for MicroscopyChannel

* update tests

* update README

* update docs

* update notebooks

* update changelog

* Update PlaneAcquisition attribute from plane_thickness_in_um to point_spread_function_in_um across documentation and tests (#60)

* Add Microscopy Rig (#61)

* add MicroscopyRig and MicroscopeModel

* add mock functions

* update tests

* update README

* update docs

* update notebooks

* update changelog

* ruff fixes

* update requirements

* update ndx-ophys-devices dependency to use GitHub repository

* update ndx-ophys-devices dependency to version 0.2.0 and add OpticalLens to the namespace and extensions

* update ndx-ophys-devices dependency to version 0.2.0 and add OpticalLens to the namespace and extensions

* Update release notes for version 0.3.0 to reflect accurate date and added features

* Add dimension attribute to ImagingSpace (#62)

* add dimensions_in_pixels and dimensions_in_voxels

* update mock functions

* update README

* update docs

* update notebooks

* update changelog

* Add MultiChannelMicroscopyContainer  (#63)

* Add MultiChannelMicroscopyContainer and related tests to ndx-microscopy extension

* update README

* update CHANGELOG

* update documentation

* Refactor multi-channel microscopy container tests to use mock_MicroscopyRig and mock_MicroscopyChannel

* ruff fix

* Rename Segmentation2D to PlanarSegmentation and Segmentation3D to VolumetricSegmentation (#64)

* Refactor segmentation classes: Rename Segmentation2D to PlanarSegmentation and Segmentation3D to VolumetricSegmentation

* Update release notes and changelog for version 0.3.0: document segmentation class refactor

* Add get_FOV_size() (#65)

* add dimensions_in_pixels and dimensions_in_voxels

* update mock functions

* update README

* update docs

* update notebooks

* update changelog

* Add FOV size calculation methods for Planar and Volumetric Imaging Spaces

* Fix pixel_size_in_um type in mock_PlanarImagingSpace function

* Add tests for FOV size calculations

* update README

* update CHANGELOG

* update docs

* Optional link in MicroscopyResponseSeries to MicroscopySeries  (#66)

* Add link to MicroscopySeries in MicroscopyResponseSeries documentation

* Add optional parameter to mock_MicroscopyResponseSeries for better testing flexibility

* Add test for MicroscopyResponseSeries with associated MicroscopySeries

* update README

* update notebooks

* update docs

* update CHANGELOG

* fix tests failure

* Refactor microscopy response series tests to use updated mock objects

* Switch image with volume in VolumetricSegmentation (#67)

* Rename image_mask to volume_mask

* Rename image_mask to volume_mask in Segmentation3D API and update related methods

* Rename image_shape to volume_shape and update related references in mock_Segmentation3D

* Rename image_mask to volume_mask in volumetric segmentation tests and update related assertions

* update README

* update notebook

* update docs

* Update CHANGELOG

* minor fixes

* Bump version to 0.3.0 in pyproject.toml and ndx-microscopy.namespace.yaml

* Update project version to 0.3.0 and standardize string formatting in conf.py
@h-mayorquin
Copy link
Copy Markdown

One inconsistency that can can come from this and that it will be difficult to check is the imaging space not matching in the two paths:

ImagingSpaceA -> Segmentation <- ROIMask <- MicroscopyResponse
ImaginSpaceB <- MicroscopySeries <- MicroscopyResponse

I feel there is something strange about making segmentation a sink.

@alessandratrapani
Copy link
Copy Markdown
Collaborator Author

One inconsistency that can can come from this and that it will be difficult to check is the imaging space not matching in the two paths:

ImagingSpaceA -> Segmentation <- ROIMask <- MicroscopyResponse ImaginSpaceB <- MicroscopySeries <- MicroscopyResponse

I feel there is something strange about making segmentation a sink.

So, are you saying we should make ImagingSpace a linked object and add a check to match the link?

@h-mayorquin
Copy link
Copy Markdown

Not sure what is the solution.

I wanted to point out that with the current a MicroscopyResponse can be linked to two ImagingSpaces which sounds inconsistent. Maybe this is an edge case that is not worth addressing but I wanted to bring it to your attention.

Now that I look in more detail I see that in the Segmentation object the ImagingSpace is a group:

groups:
- neurodata_type_inc: PlanarImagingSpace
doc: PlanarImagingSpace object from which this data was generated.

I actually did not notice this before? Doesn't that duplicate the object? shouldn't it be a link?

@alessandratrapani
Copy link
Copy Markdown
Collaborator Author

I actually did not notice this before? Doesn't that duplicate the object? shouldn't it be a link?

Yes, the problem is that in order to be able to link it as an object it needs to live somewhere else.
probably under nwbfile/general/optophysiology.

@h-mayorquin
Copy link
Copy Markdown

Right.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add an optional link to MicroscopyResponseSeries to reference MicroscopySeries

3 participants