Closed alisterburt closed 3 years ago
it's also really not clear what the name_regex
parameter actually does, how does it affect the way data is returned?
playing with this now, shifts are also not correctly parsed for rln3.1 star files. They default to 0 because we aren't looking for the right header
I'll answer in order:
As for name regex: not a great name, I agree... it's supposed to be given to guess a name. For example, if my files are all called:
cool_thing_001_something_useless.star
cool_thing_002_something_useless.star
You can pass:
thing_\d{3}
And it will use thing_xxx
that as a name identifier in napari for each thing. Not sure if that's "nice" but it's decent :P
I see now what you mean by dynamo table files. I don't know when the confusion started, but I thought they were actual starfiles generated by dynamo that we were reading! Never noticed in previous versions that dynamotable
was being called, somehowe :P
Mostly closed by #60 and #62.
There are a couple of issues with the way the IO has been refactored, listing them here so I can try to fix them
there seems to be a misunderstanding about what a STAR file is/means, it doesn't necessarily contain particles and a dynamo table file is not a star file
consequently, euler2matrix should not be a function only related to STAR file handling, but generally for handling euler angles in any file type that may come with euler angles (relion star files, dynamo tables, PEET/EMAN/STOPGAP etc etc)
star conventions now contains dynamo table info, wrong for above reasons
read_star is a monster of a function, difficult to customise file reading with the current conventions because we don't always know what a star file will contain in advance in terms of properties we might want to use
read_star is difficult to refactor into smaller pieces because in the various nested loops it calls data from various other stages, this should be handled in some kind of
StarHandler
object