Skip to content
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

CorrectedImageStack is insufficient for modern motion correction #538

Open
rly opened this issue Mar 21, 2023 · 2 comments
Open

CorrectedImageStack is insufficient for modern motion correction #538

rly opened this issue Mar 21, 2023 · 2 comments
Labels
category: enhancement improvements of code or code behavior priority: medium non-critical problem and/or affecting only a small set of NWB users

Comments

@rly
Copy link
Contributor

rly commented Mar 21, 2023

- neurodata_type_def: MotionCorrection
neurodata_type_inc: NWBDataInterface
default_name: MotionCorrection
doc: 'An image stack where all frames are shifted (registered) to a common coordinate
system, to account for movement and drift between frames. Note: each frame at
each point in time is assumed to be 2-D (has only x & y dimensions).'
groups:
- neurodata_type_inc: CorrectedImageStack
doc: Reuslts from motion correction of an image stack.
quantity: '+'
- neurodata_type_def: CorrectedImageStack
neurodata_type_inc: NWBDataInterface
doc: Reuslts from motion correction of an image stack.
groups:
- name: corrected
neurodata_type_inc: ImageSeries
doc: Image stack with frames shifted to the common coordinates.
- name: xy_translation
neurodata_type_inc: TimeSeries
doc: Stores the x,y delta necessary to align each frame to the common coordinates,
for example, to align each frame to a reference image.
links:
- name: original
target_type: ImageSeries
doc: Link to ImageSeries object that is being registered.

  • xy translation is required but modern motion correction is often not a simple xy translation (e.g., NoRMCorre)
  • if a particular software package was used, we should store metadata about the software used.
  • users may not want to store the original image stack (just the corrected images, not the original or translation)
  • users may not want to store the corrected images (just original + translation metadata)

Given the three different modes above for storing such data (corrected only, original + translation, all), would it make sense to have different types for these? Otherwise, all the fields have to be made optional.

cc @bendichter @oruebel @CodyCBakerPhD

@rly
Copy link
Contributor Author

rly commented Mar 21, 2023

Partial duplicate of #228

@bendichter
Copy link
Contributor

Given the three different modes above for storing such data (corrected only, original + translation, all), would it make sense to have different types for these? Otherwise, all the fields have to be made optional.

What did you have in mind?

@stephprince stephprince added category: enhancement improvements of code or code behavior priority: medium non-critical problem and/or affecting only a small set of NWB users labels May 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: enhancement improvements of code or code behavior priority: medium non-critical problem and/or affecting only a small set of NWB users
Projects
None yet
Development

No branches or pull requests

3 participants