HEXRD / hexrd

A cross-platform, open-source library for the analysis of X-ray diffraction data.
Other
55 stars 26 forks source link

Frame cache writer #605

Closed donald-e-boyce closed 7 months ago

donald-e-boyce commented 7 months ago

This allows you to write an imageseries in frame-cache format without specfying the cache_file keyword argument.

Before this change, you would pass the filename argument as well as the the cache_file keyword arg, usually the same value in both places. Now, the cache_file is determined from the filename.

The history of this is that the original format for frame-cache was a YAML file for the metadata, and the imagefiles were stored as sparse arrays in a numpy npz file, the cache file. Currently the default format is to save all image data and metadata both in the same file, so a separate cache file is not necessary.

For the YAML format, the cache file (if not an absolute path) is taken relative to the YAML file, so any directory is prepended to the cache file. For the single npz file format, this has the annoying affect that if you specify a directory in the YAML file and also in the cache file, the directory gets prepended again to the cache file, invalidating the path.

I also added a DeprecationWarning for writing to the YAML format, since the single file format is concise, efficient and general enough for the metadata likely to be needed with the imageseries.