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

Understanding SpimData #18

Open
tischi opened this issue Nov 27, 2020 · 6 comments
Open

Understanding SpimData #18

tischi opened this issue Nov 27, 2020 · 6 comments

Comments

@tischi
Copy link
Owner

tischi commented Nov 27, 2020

@joshmoore

  1. For a SpimData object all contained sources must have the same number of time points
final AbstractSequenceDescription< ?, ?, ? > seq = spimData.getSequenceDescription();
final int numTimepoints = seq.getTimePoints().size();
  1. Each ViewSetup contains one Source
  2. Adding SpimData to BDV returns a List< BdvStackSource > bss, where bss has a method getSources() which is a another list, however this list always only contains one item.
final List< SourceAndConverter< T > > sources = Collections.singletonList( source );
final BdvStackSource< T > bdvSource = new BdvStackSource<>( handle, numTimepoints, type, setups, sources );

@NicoKiaru
you think that's correct?
and do you get why a BdvStackSource contains a list of sources if there only is one in the list?

@NicoKiaru
Copy link

you can define missingviews in the sequence description. If you feel like it you can check the uberdataset repo which contains a way to merge spimdata object into a single one.

When the number of timepoints didn't match, I had to set a number of missing views:

https://github.com/BIOP/bigdataviewer-uberdataset/blob/272ffb69459379c7fedcc609cee8110cc31ec72a/src/main/java/ch/epfl/biop/bdv/uberdataset/MergeXmlDatasets.java#L243-L273

@tischi
Copy link
Owner Author

tischi commented Nov 28, 2020

Thanks!

  1. Would you say that maybe the whole point of the current design is that Setups are allowed to have missing timepoints?
  2. If you open a .lif file the contained images can have all kind of time points; what is seq.getTimePoints().size() returning in that case? The number of time points of the longest movie in the .lif file?

@NicoKiaru
Copy link

  1. Not sure
  2. Yes:

https://github.com/BIOP/bigdataviewer-bioformats/blob/320ee3ff490d43c7aef1905e5943a334dbcae9d5/src/main/java/ch/epfl/biop/bdv/bioformats/export/spimdata/BioFormatsConvertFilesToSpimData.java#L257-L273

I'm getting the maximum number of timepoints and adding missingviews for series which do not reach this maximum

@tischi
Copy link
Owner Author

tischi commented Nov 30, 2020

@NicoKiaru
Do you have any idea about the other question that I had?

Adding SpimData to BDV returns a List< BdvStackSource > bss, where each bss has a method bss.getSources() which is an another list, however bss.getSources() in my hands always only contains one item. Is that the same for you?

@NicoKiaru
Copy link

NicoKiaru commented Nov 30, 2020

Adding SpimData to BDV returns a List< BdvStackSource > bss, where each bss has a method bss.getSources() which is an another list, however bss.getSources() in my hands always only contains one item. Is that the same for you?

Yes. I don't know why.

Which other question : the one about the Setups ? I think it allows to have multiple 'setups' which can be variations on angle / illumination / channel / whatever + you have ViewId which are specific to a certain viewsetup at a certain timepoint. There can be metadata per ViewId also I think, and they can be missing. What are you looking for specifically ?

@tischi
Copy link
Owner Author

tischi commented Nov 30, 2020

Which other question :

Sorry for the confusion, I meant the one that you answered with "Yes. I don't know why" :-)
Thanks!

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

No branches or pull requests

2 participants