Closed MartinSalinas98 closed 1 year ago
Update: it looks like this line, extracts the acquisition info from the first tomogram of the set, and assigns that info to the set of subtomograms.
However, the class SetOfTomograms
also has the acquisition field, and, if such info has only been inserted in the set, and the tomograms themselves don't have it (could happen in cases where all the tomograms of the set come from the same acquisition, so they have the same values, and, therefore, the info is only written to the set to avoid redundancy), the output set of subtomograms is receiving empty acquisition data.
I'm going to test this theory and will be back with results, and hopefully a PR.
Apparently problem was actually fixed 3 weeks ago by this PR I created myself, just needed to pull the changes.
Embarrased and positively surprised by my past self.
As an example to illustrate this, here is a sample workflow where i am encountering the issue: Here, the important protocols to keep in mind are mainly:
When looking at the files of the imod protocol, we can find a
tomograms.sqlite
file, with the following metadata in theProperties
section:The sphyre protocol has a
coordinates.sqlite
, so it won't and should not contain any acquisition info.And then, the emantomo protocol, takes in both the output of the imod protocol (
SetOfTomograms
) and the output of the sphyre protocol (SetOfCoordinates3D
). The output produced by this protocol is aSetOfSubTomograms
, and, because of that, a filesubomograms.sqlite
is produced.Here is the content of such file: So, the protocol is not copying the acquisition parameter values from the set of tomograms into the set of subtomograms, losing such info for any following protocol.