PYME.IO.tabular module¶
import filters for localisation microscopy results. These masquerade as dictionaries which can be looked up to yield the desired data. The visualisation routines expect at least ‘x’ and ‘y’ to be defined as keys, and may also understand additional values, e.g. ‘error_x’
- class PYME.IO.tabular.AnndataSource(filename)¶
Bases:
TabularBaseInterfaces with anndata/scanpy/squidpy packages for spatialomics.
- getInfo()¶
- keys()¶
- class PYME.IO.tabular.BaseHDFSource(h5fFile, tablename='FitResults')¶
Bases:
FitResultsSourceData source for use with h5r files as saved by the PYME analysis component. Takes either an open h5r file or a string filename to be opened.
- close()¶
- class PYME.IO.tabular.CachingResultsFilter(resultsSource, **kwargs)¶
Bases:
TabularBaseClass to permit filtering of fit results - masquarades as a dictionary. Takes item ranges as keyword arguments, eg: f = resultsFliter(source, x=[0,10], error_x=[0,5]) will return an object that behaves like source, but with only those points with an x value in the range [0, 10] and a x error in the range [0, 5].
The filter class does not have any explicit knowledge of the keys supported by the underlying data source.
- keys()¶
- property mdh¶
- class PYME.IO.tabular.CloneSource(resultsSource, keys=None)¶
Bases:
TabularBaseCreates an in memory copy of a (filtered) data source
- keys()¶
- class PYME.IO.tabular.ColourFilter(resultsSource, currentColour=None)¶
Bases:
TabularBaseClass to permit filtering by colour
- getColourChans()¶
- get_channel_column(chan, keys)¶
- get_channel_ds(chan)¶
- classmethod get_colour_chans(resultsSource)¶
- property index¶
- keys()¶
- setColour(colour)¶
- class PYME.IO.tabular.ColumnSource(**kwargs)¶
Bases:
DictSourceCreate a datasource from columns specified by kwargs. Each column should be a numpy array.
- Parameters
- kwargs
- class PYME.IO.tabular.ConcatenateFilter(source0, source1, *args, concatKey='concatSource')¶
Bases:
TabularBaseClass which concatenates two (or more) tabular data sources. The data sources should have the same keys.
The filter class does not have any explicit knowledge of the keys supported by the underlying data source.
- keys()¶
- class PYME.IO.tabular.DictSource(source)¶
Bases:
TabularBaseCreate a data source from a dictionary of numpy arrays, where each entry is a column.
- Parameters
- source
- addColumn(name, values)¶
- keys()¶
- class PYME.IO.tabular.FitResultsSource(fitResults, sort=True)¶
Bases:
TabularBase- getInfo()¶
- keys()¶
- setResults(fitResults, sort=True)¶
- class PYME.IO.tabular.H5RDSource(h5fFile)¶
Bases:
H5RSourceData source for use with h5r files as saved by the PYME analysis component
- getInfo()¶
- class PYME.IO.tabular.H5RSource(h5fFile, tablename='FitResults')¶
Bases:
BaseHDFSourceData source for use with h5r files as saved by the PYME analysis component. Takes either an open h5r file or a string filename to be opened.
- getInfo()¶
- class PYME.IO.tabular.HDFSource(h5fFile, tablename='FitResults')¶
Bases:
H5RSourceData source for use with h5r files as saved by the PYME analysis component. Takes either an open h5r file or a string filename to be opened.
- getInfo()¶
- keys()¶
- class PYME.IO.tabular.IdFilter(resultsSource, id_column, valid_ids)¶
Bases:
SelectionFilterClass to permit filtering of fit results - masquarades as a dictionary. Takes item ranges as keyword arguments, eg: f = resultsFliter(source, x=[0,10], error_x=[0,5]) will return an object that behaves like source, but with only those points with an x value in the range [0, 10] and a x error in the range [0, 5].
The filter class does not have any explicit knowledge of the keys supported by the underlying data source.
- class PYME.IO.tabular.MappingFilter(resultsSource, **kwargs)¶
Bases:
TabularBaseClass to permit transformations (e.g. drift correction) of fit results - masquarades as a dictionary. Takes mappings as keyword arguments, eg: f = resultsFliter(source, xp=’x + a*tIndex’, yp=compile(‘y + b*tIndex’, ‘/tmp/test1’, ‘eval’), a=1, b=2) will return an object that behaves like source, but has additional members xp and yp.
the mappings should either be code objects, strings (which will be compiled into code objects), or something else (which will be turned into a local variable - eg constants in above example)
MappingFilter has one optional keyword arguement, modifies_bounds, which is a boolean indicating that the bounds implied by the metadata will no longer match up to the data after mapping - e.g. if the mapping introduces position shifts. For now, this is un-used, but exists as a hook for potential future use cases (see https://github.com/python-microscopy/python-microscopy/pull/1543#issuecomment-2298643266).
- addColumn(name, values)¶
Adds a column of values to the mapping.
- Parameters
- namestr
The new column name
- valuesarray-like
The values. This should be the same length as the existing columns.
- addVariable(name, value)¶
Adds a scalar variable to the mapping object. This will be accessible from mappings. An example usage might be to define a scaling parameter for one of our column variables.
- Parameters
- namestring
The name we want to be able to access the variable by
- valuefloat (or something which can be cast to a float)
The value
- getMappedResults(key, sl)¶
- keys()¶
- setMapping(key, mapping)¶
- set_variables(**kwargs)¶
- class PYME.IO.tabular.MatfileColumnSource(filename)¶
Bases:
TabularBaseInput filter for use with matlab data where the each column is in a separate variable. Relies on variables having suitable column names - columns named x, y, z, t, and probe (if multi-colour) should be present.
- getInfo()¶
- keys()¶
- class PYME.IO.tabular.MatfileMultiColumnSource(filename)¶
Bases:
MatfileColumnSourceInput filter for use with matlab data where the each column is in a separate variable. Relies on variables having suitable column names - columns named x, y, z, t, and probe (if multi-colour) should be present.
- class PYME.IO.tabular.MatfileSource(filename, columnnames, varName='Orte')¶
Bases:
TabularBaseInput filter for use with matlab data where all variables are in in one 2D array (variable). Need to provide a variable name within the matfile to and a list of column names in the order that they appear in the file. Using ‘x’, ‘y’ and ‘error_x’ for the position data and it’s error should ensure that this functions with the visualisation backends
- getInfo()¶
- keys()¶
- class PYME.IO.tabular.RandomSelectionFilter(resultsSource, num_Samples)¶
Bases:
SelectionFilterClass to permit filtering of fit results - masquarades as a dictionary. Takes item ranges as keyword arguments, eg: f = resultsFliter(source, x=[0,10], error_x=[0,5]) will return an object that behaves like source, but with only those points with an x value in the range [0, 10] and a x error in the range [0, 5].
The filter class does not have any explicit knowledge of the keys supported by the underlying data source.
- class PYME.IO.tabular.RandomSource(xmax, ymax, nsamps)¶
Bases:
TabularBaseUniform random source, for testing and as an example
- getInfo()¶
- keys()¶
- class PYME.IO.tabular.RecArraySource(recordArray)¶
Bases:
TabularBase- getInfo()¶
- keys()¶
- class PYME.IO.tabular.ResultsFilter(resultsSource, **kwargs)¶
Bases:
SelectionFilterClass to permit filtering of fit results - masquarades as a dictionary. Takes item ranges as keyword arguments, eg: f = resultsFliter(source, x=[0,10], error_x=[0,5]) will return an object that behaves like source, but with only those points with an x value in the range [0, 10] and a x error in the range [0, 5].
The filter class does not have any explicit knowledge of the keys supported by the underlying data source.
- class PYME.IO.tabular.SelectionFilter(resultsSource, index)¶
Bases:
TabularBaseA filter which relies on a supplied index (either integer or boolean)
- keys()¶
- class PYME.IO.tabular.TabularBase¶
Bases:
object- property image_bounds¶
- keys()¶
- toDataFrame(keys=None)¶
- to_JSON(keys=None, return_slice=slice(None, None, None))¶
- to_csv(outFile, keys=None)¶
- to_hdf(filename, tablename='Data', keys=None, metadata=None, keep_alive_timeout=0)¶
Writes data to a table in an HDF5 file
- Parameters
- filename: string
the name of the file to save to
- tablename: string [optional]
the name of the table within the file to save to. Defaults to “Data”
- keys: list [optional]
a list of column names to save (if keys == None, all columns are saved)
- metadata: a MetaDataHandler instance [optional]
associated metadata to write to the file
- keep_alive_timeout: float
a timeout in seconds. If non-zero, the file is held open after we have finished writing to it until the timeout elapses. Useful as a performance optimisation when making multiple writes to a single file, potentially across multiple threads. NOTE: the keep_alive_timeout is not garuanteed to be observed - it gets set by the first open call of a given session, so if the file is already open due to a previous openH5R call, the timeout requested by that call will be used.
- to_pandas(keys=None)¶
Convert tabular data to a pandas DataFrame
- to_recarray(keys=None)¶
Converts tabular data types into record arrays, which is useful for e.g. saving as an hdf table. In order to be converted, the tabular data source must be able to be flattened.
- Parameters
- keyslist of fields to be copied into output. Defaults to all existing keys.
- Returns
- numpy recarray version of self
- class PYME.IO.tabular.TextfileSource(filename, columnnames, delimiter=None, skiprows=0, skip_footer=0, invalid_raise=True, comments='#')¶
Bases:
TabularBaseInput filter for use with delimited text data. Defaults to whitespace delimiter. Need to provide a list of variable names in the order that they appear in the file. Using ‘x’, ‘y’ and ‘error_x’ for the position data and it’s error should ensure that this functions with the visualisation backends
- getInfo()¶
- keys()¶
- PYME.IO.tabular.cachingResultsFilter(*args, **kwargs)¶
- PYME.IO.tabular.cloneSource(*args, **kwargs)¶
- PYME.IO.tabular.colourFilter(*args, **kwargs)¶
- PYME.IO.tabular.concatenateFilter(*args, **kwargs)¶
- PYME.IO.tabular.deprecated_name(name)¶
- PYME.IO.tabular.fitResultsSource(*args, **kwargs)¶
- PYME.IO.tabular.h5rDSource(*args, **kwargs)¶
- PYME.IO.tabular.h5rSource(*args, **kwargs)¶
- PYME.IO.tabular.hdfSource(*args, **kwargs)¶
- PYME.IO.tabular.idFilter(*args, **kwargs)¶
- PYME.IO.tabular.mappingFilter(*args, **kwargs)¶
- PYME.IO.tabular.matfileColumnSource(*args, **kwargs)¶
- PYME.IO.tabular.matfileSource(*args, **kwargs)¶
- PYME.IO.tabular.randomSelectionFilter(*args, **kwargs)¶
- PYME.IO.tabular.randomSource(*args, **kwargs)¶
- PYME.IO.tabular.recArrayInput(*args, **kwargs)¶
- PYME.IO.tabular.resultsFilter(*args, **kwargs)¶
- PYME.IO.tabular.scalar_column_source(**kwargs)¶
Creates a tabular data source of length 1 from a scalar data
- PYME.IO.tabular.scalar_dict_source(d)¶
Creates a tabular data source of length 1 from a scalar data
- PYME.IO.tabular.textfileSource(*args, **kwargs)¶
- PYME.IO.tabular.unNestDtype(descr, parent='')¶
- PYME.IO.tabular.unNestNames(nameList, parent='')¶
- PYME.IO.tabular.unnest_dtype(dtype, parent='')¶