From 1d51daf9d6dd3b056b7632db434ffa87f05cdbcc Mon Sep 17 00:00:00 2001 From: Ilia Kats Date: Wed, 24 Dec 2014 14:00:19 +0100 Subject: [PATCH 1/2] actually implement the documented groupfiles option --- bioformats/formatreader.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bioformats/formatreader.py b/bioformats/formatreader.py index 803b7ca..58a1683 100644 --- a/bioformats/formatreader.py +++ b/bioformats/formatreader.py @@ -943,7 +943,7 @@ def load_using_bioformats(path, c=None, z=0, t=0, series=None, index=None, return rdr.read(c, z, t, series, index, rescale, wants_max_intensity, channel_names) -def get_omexml_metadata(path=None, url=None): +def get_omexml_metadata(path=None, url=None, groupfiles=False): '''Read the OME metadata from a file using Bio-formats :param path: path to the file @@ -954,6 +954,8 @@ def get_omexml_metadata(path=None, url=None): :returns: the metdata as XML. ''' + if not isinstance(groupfiles, bool): + groupfiles = False with ImageReader(path=path, url=url, perform_init=False) as rdr: # # Below, "in" is a keyword and Rhino's parser is just a little wonky I fear. @@ -966,7 +968,7 @@ def get_omexml_metadata(path=None, url=None): Packages.loci.formats.services.OMEXMLService, Packages.loci.formats['in'].DefaultMetadataOptions, Packages.loci.formats['in'].MetadataLevel); - reader.setGroupFiles(false); + reader.setGroupFiles(""" + str(groupfiles).lower() + """); reader.setOriginalMetadataPopulated(true); var service = new ServiceFactory().getInstance(OMEXMLService); var metadata = service.createOMEXMLMetadata(); From c141a1b55fe9511630f55a0c38b6a91852f1a391 Mon Sep 17 00:00:00 2001 From: Ilia Kats Date: Wed, 8 Feb 2017 16:37:26 +0100 Subject: [PATCH 2/2] allow to set groupFiles=True when creating an ImageReader object --- bioformats/formatreader.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/bioformats/formatreader.py b/bioformats/formatreader.py index 58a1683..26ada27 100644 --- a/bioformats/formatreader.py +++ b/bioformats/formatreader.py @@ -538,7 +538,7 @@ class ImageReader(object): ''' - def __init__(self, path=None, url=None, perform_init=True): + def __init__(self, path=None, url=None, perform_init=True, groupFiles=False): self.stream = None file_scheme = "file:" self.url = url @@ -561,7 +561,7 @@ def __init__(self, path=None, url=None, perform_init=True): self.rdr = get_omero_reader() self.path = url if perform_init: - self.init_reader() + self.init_reader(groupFiles) return except jutil.JavaException, e: je = e.throwable @@ -666,7 +666,7 @@ def __init__(self, path=None, url=None, perform_init=True): self.rdr = IFormatReader() self.rdr.o = jrdr if perform_init: - self.init_reader() + self.init_reader(groupFiles) def __enter__(self): return self @@ -690,10 +690,10 @@ def close(self): # jutil.static_call("java/lang/System", "gc","()V") - def init_reader(self): + def init_reader(self, groupFiles=False): mdoptions = metadatatools.get_metadata_options(metadatatools.ALL) self.rdr.setMetadataOptions(mdoptions) - self.rdr.setGroupFiles(False) + self.rdr.setGroupFiles(groupFiles) self.metadata = metadatatools.createOMEXMLMetadata() self.rdr.setMetadataStore(self.metadata) try: