def supported_extensions(flat_formats=True): """Returns the list file extensions supported by `silx.open`. The result filter out formats when the expected module is not available. :param bool flat_formats: If true, also include flat formats like npy or edf (while the expected module is available) :returns: A dictionary indexed by file description and containing a set of extensions (an extension is a string like "\\*.ext"). :rtype: Dict[str, Set[str]] """ formats = collections.OrderedDict() formats["HDF5 files"] = set(["*.h5", "*.hdf", "*.hdf5"]) formats["NeXus files"] = set(["*.nx", "*.nxs", "*.h5", "*.hdf", "*.hdf5"]) formats["NeXus layout from spec files"] = set(["*.dat", "*.spec", "*.mca"]) if flat_formats: try: from silx.io import fabioh5 except ImportError: fabioh5 = None if fabioh5 is not None: formats["NeXus layout from fabio files"] = set( fabioh5.supported_extensions()) extensions = ["*.npz"] if flat_formats: extensions.append("*.npy") formats["Numpy binary files"] = set(extensions) formats["Coherent X-Ray Imaging files"] = set(["*.cxi"]) formats["FIO files"] = set(["*.fio"]) return formats
def supported_extensions(flat_formats=True): """Returns the list file extensions supported by `silx.open`. The result filter out formats when the expected module is not available. :param bool flat_formats: If true, also include flat formats like npy or edf (while the expected module is available) :returns: A dictionary indexed by file description and containing a set of extensions (an extension is a string like "\*.ext"). :rtype: Dict[str, Set[str]] """ formats = {} if h5py is not None: formats["HDF5 files"] = set(["*.h5", "*.hdf", "*.hdf5"]) formats["NeXus files"] = set(["*.nx", "*.nxs", "*.h5", "*.hdf", "*.hdf5"]) formats["NeXus layout from spec files"] = set(["*.dat", "*.spec", "*.mca"]) if flat_formats: try: from silx.io import fabioh5 except ImportError: fabioh5 = None if fabioh5 is not None: formats["NeXus layout from fabio files"] = set(fabioh5.supported_extensions()) extensions = ["*.npz"] if flat_formats: extensions.append("*.npy") formats["Numpy binary files"] = set(extensions) return formats