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

Refactor Miniscope Extractor Naming #374

Merged
merged 6 commits into from
Oct 22, 2024
Merged

Conversation

h-mayorquin
Copy link
Collaborator

First PR in the direction of #356

It does two things:

  • It renames the class MiniscopeImagingExtractor to MiniscopeMultiSegmentExtractor which I think better encompasses its scope and purpose. It then does a renaming to keep (for the moment) backward compatibility.
  • It renames _MiniscopeImagingExtractor to _MiniscopeSingleVideoExtractor for similar reasons.

These two changes pave the road to implement a future MiniscopeImagingExtractor in the lines of the comments in f #356

@h-mayorquin h-mayorquin self-assigned this Oct 9, 2024
@h-mayorquin h-mayorquin changed the title Rename legacy extractor Refactor Miniscope Extractor Naming Oct 9, 2024
@@ -11,4 +11,4 @@
An ImagingExtractor for the Miniscope video (.avi) format.
"""

from .miniscopeimagingextractor import MiniscopeImagingExtractor
from .miniscopeimagingextractor import MiniscopeImagingExtractor, MiniscopeMultiSegmentExtractor
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this a typo? This is still an imaging extractor and not a segmentation right?

Copy link
Collaborator Author

@h-mayorquin h-mayorquin Oct 12, 2024

Choose a reason for hiding this comment

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

[EDIT]

Sorry, no, it was nos a typo.

I am thinking on the concept of multi segment in spikeinterface when a session of the same data is divided with possible gaps in between. That said, it is missing the imaging word on it.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@weiglszonja thanks for pointing this out. Now that I think about it, MultiSegment is also a bad name because in Spikeinterface multi-segment recordings do not extract the different recordings within the session as a single continuous recording. I settled for MiniscopeMultiRecordingImagingExtractor to avoid this possible confusion.

Can you take a look at the new naming and the new docstrings to see if it makes sense?

@@ -18,14 +18,14 @@
from ...extraction_tools import PathType, DtypeType, get_package


class MiniscopeImagingExtractor(MultiImagingExtractor): # TODO: rename to MiniscopeMultiImagingExtractor
class MiniscopeMultiSegmentExtractor(MultiImagingExtractor):
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
class MiniscopeMultiSegmentExtractor(MultiImagingExtractor):
class MiniscopeMultiImagingExtractor(MultiImagingExtractor):

This format consists of a single video (.avi) file and configuration file (.json).
Multiple _MiniscopeImagingExtractor are combined into the MiniscopeImagingExtractor for public access.
This format consists of a single video (.avi)
Multiple _MiniscopeSingleVideoExtractor are combined into the MiniscopeImagingExtractor for public access.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Multiple _MiniscopeSingleVideoExtractor are combined into the MiniscopeImagingExtractor for public access.
Multiple _MiniscopeSingleVideoExtractor are combined into the MiniscopeMultiImagingExtractor for public access.

Copy link
Contributor

@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.

Thank you @h-mayorquin for spearheading this task; before approving this the typos should be addressed but the rest makes sense to me.

@h-mayorquin
Copy link
Collaborator Author

Thanks @weiglszonja, I added what I think are better docstrings and settled for MiniscopeMultiRecordingImagingExtractor, could you take a look when you have some time?

Copy link
Contributor

@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.

Sorry for taking this too long to review, LGTM, thanks!

@weiglszonja
Copy link
Contributor

@h-mayorquin in fact, can you also update the changelog? this seems like an important name change to be included in there. After that you can merge I think :)

@h-mayorquin h-mayorquin merged commit 5d8284b into main Oct 22, 2024
29 checks passed
@h-mayorquin h-mayorquin deleted the new_miniscope_interface branch October 22, 2024 22:22
@h-mayorquin
Copy link
Collaborator Author

Thanks, I added a warning when using the current structure warning that the signature might change and telling the user that they should use the other extractor.

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.

2 participants