omero.columns module¶
Concrete implementations of the omero.grid.Column type hierarchy which know how to convert themselves to PyTables types.
- class columns.AbstractArrayColumn[source]¶
Bases:
AbstractColumn
Additional base logic for array columns
- class columns.AbstractColumn[source]¶
Bases:
object
Base logic for all columns
- arrays()[source]¶
Any method which does not use the “values” field will need to override this method.
- dtypes()[source]¶
Override this method if descriptor() doesn’t return the correct data type/size at initialisation- this is mostly a problem for array types
- fromrows(rows, field_only=False)[source]¶
Any method which does not use the “values” field will need to override this method.
- getsize()[source]¶
Any method which does not use the “values” field will need to override this method.
- class columns.BoolColumnI(*args: Any, **kwargs: Any)[source]¶
Bases:
AbstractColumn
,BoolColumn
- class columns.DatasetColumnI(*args: Any, **kwargs: Any)[source]¶
Bases:
AbstractColumn
,DatasetColumn
- class columns.DoubleArrayColumnI(*args: Any, **kwargs: Any)[source]¶
Bases:
AbstractArrayColumn
,DoubleArrayColumn
- class columns.DoubleColumnI(*args: Any, **kwargs: Any)[source]¶
Bases:
AbstractColumn
,DoubleColumn
- class columns.FileColumnI(*args: Any, **kwargs: Any)[source]¶
Bases:
AbstractColumn
,FileColumn
- class columns.FloatArrayColumnI(*args: Any, **kwargs: Any)[source]¶
Bases:
AbstractArrayColumn
,FloatArrayColumn
- class columns.ImageColumnI(*args: Any, **kwargs: Any)[source]¶
Bases:
AbstractColumn
,ImageColumn
- class columns.LongArrayColumnI(*args: Any, **kwargs: Any)[source]¶
Bases:
AbstractArrayColumn
,LongArrayColumn
- class columns.LongColumnI(*args: Any, **kwargs: Any)[source]¶
Bases:
AbstractColumn
,LongColumn
- class columns.MaskColumnI(*args: Any, **kwargs: Any)[source]¶
Bases:
AbstractColumn
,MaskColumn
- arrays()[source]¶
Any method which does not use the “values” field will need to override this method.
- fromrows(rows, field_only=False)[source]¶
Any method which does not use the “values” field will need to override this method.
- class columns.PlateColumnI(*args: Any, **kwargs: Any)[source]¶
Bases:
AbstractColumn
,PlateColumn
- class columns.RoiColumnI(*args: Any, **kwargs: Any)[source]¶
Bases:
AbstractColumn
,RoiColumn
- class columns.StringColumnI(*args: Any, **kwargs: Any)[source]¶
Bases:
AbstractColumn
,StringColumn
StringColumns are actually numpy dtype ‘S’: “zero-terminated bytes (not recommended)” https://github.com/ome/omero-py/blob/v5.6.dev8/src/omero/columns.py#L269 https://docs.scipy.org/doc/numpy-1.15.1/reference/arrays.dtypes.html#specifying-and-constructing-data-types In any case HDF5 doesn’t seem to properly support unicode, and numexpr doesn’t even pretend to support it: - https://github.com/PyTables/PyTables/issues/499 - https://github.com/pydata/numexpr/issues/142 - https://github.com/pydata/numexpr/issues/150 - https://github.com/pydata/numexpr/issues/263 - https://github.com/pydata/numexpr/blob/v2.7.0/numexpr/necompiler.py#L340-L341
> import numexpr > a = “£” > numexpr.evaluate(‘a==”£”’) ValueError: unknown type str32 > b = “£”.encode() > numexpr.evaluate(‘b==”£”’) UnicodeEncodeError: ‘ascii’ codec can’t encode character ‘£’ in position 0: ordinal not in range(128)
You should be able to store/load unicode data but you can’t use unicode in a where condition
- arrays()[source]¶
Check for strings longer than the initialised column width This will always return bytes
- dtypes()[source]¶
Overriding to correct for size. (Testing suggests this may not be necessary, the size appears to be correctly set at initialisation)
- class columns.WellColumnI(*args: Any, **kwargs: Any)[source]¶
Bases:
AbstractColumn
,WellColumn