Hi
I downloaded 5.9.2 and now things are starting to work! I'm seeing what looks like proper debugging output. Not sure why it wasn't working before though...
Very glad to hear that. I am unclear on why it was not working before as I do not know any significant change would have happened in Memoizer API or the Bio-Formats MATLAB bindings. But I assume we can move forward with your working set up.
I see a line that says "deleting invalid memo file: /Users/franklin/Documents/MATLAB/.test.fake.bfmemo". So maybe memoizer was previously working using that default directory. The new bioformats is again saving files to that directory. I thought the default directory was the same as where the file is located?
The deleting line is expected as you upgraded to a new minor version of Bio-Formats and memo files were not backwards-compatible. Regarding the location, your expectation is absolutely correct. My example was using fake files which are special in the sense the files do not need to exist on disk. In that case, the current directory is used as the location to store memo files.
You should be able to confirm that for any file on disk, the directory should be used e.g.
- Code: Select all
touch /tmp/test.fake
Calling
- Code: Select all
r.setId('/tmp/test.fake');
should create a memo file under /tmp with the default constructor.
I switch between my mac and ubuntu for work and I access my image data from a server. Will memofiles work seamlessly between OSX and linux? I.e. can OSX read a memofile created by my ubuntu machine and vice-versa? If not, then I can see how it would make sense to have a local directory with all memofiles on each machine. If both machines can read memofiles, then how can I force the memofile to be saved in the image directory?
What you suggest might work but will require some testing and will be need to satisfy a few conditions:
- the Bio-Formats version used on both OSX and Linux should be compatible in terms of reader serialization i.e. ideally same version or at least same minor version
- the directories containing memo files are stored should be accessible and writeable by the user on both machines
- for shared folders, you will want the mount point to be exactly the same as the memo file will sometimes cache filepath locations. Having different mount points could end up in a broken situation where the reader would be loaded from the memo file but the pixel data would be unavailable
Most of the restrictions above arise from the fact the Bio-Formats memoization API was largely driven by the OMERO 5 use case i.e. when a repository of cache files for a set of image filesets is fully maintained by a single version of Bio-Formats in a server in a central location.
Sharing memo directories between machines or even between users in a traditional filesystem group are concepts that have been discussed but never prototyped and properly designed so far.
Best,
Sebastien