diff --git a/index.html b/index.html new file mode 100644 index 0000000..c110877 --- /dev/null +++ b/index.html @@ -0,0 +1,1726 @@ + + + + + + +scm_electron_microscopes API documentation + + + + + + + + + + + +
+
+
+

Package scm_electron_microscopes

+
+
+
+
+
+
+
+
+
+
+

Classes

+
+
+class ZeissSEM +(filename) +
+
+

Class with convenience functions for the Zeiss EVO and Gemini SEMs. By +default does not load the image into memory.

+

Parameters

+
+
filename : str
+
filename of the image to load. The file extension may be but is not +required to be included.
+
+

Returns

+
+
ZeissSEM class instance
+
 
+
+

Methods

+
+
+def export_metadata(self, filename=None) +
+
+

save text file with metadata

+

Parameters

+
+
filename : str, optional
+
filename to store. The default is the image name with +'_metadata.txt' appended.
+
+
+
+def export_with_scalebar(self, filename=None, **kwargs) +
+
+

saves an exported image of the SEM image with a scalebar in one of the +four corners, where barsize is the scalebar size in data units (e.g. +nm) and scale the overall size of the scalebar and text with respect to +the width of the image.

+

Parameters

+
+
filename : string or None, optional
+
Filename + extension to use for the export file. The default is the +filename sans extension of the original SEM file, with +'_exported.png' appended.
+
preprocess : callable, optional
+
callable to pre-process the image before any other processing is +done, useful for e.g. smoothing. Must take and return a +numpy.ndarray containing the image data as only arguments, and must +not change e.g. the pixel size or the scale bar may be incorrectly +sized. The default is None.
+
crop : tuple or None, optional
+
+

range describing a area of the original image (before rescaling the +resolution) to crop out for the export image. Can have two forms:

+
    +
  • +

    ((xmin,ymin),(xmax,ymax)), with the integer pixel indices of +the top left and bottom right corners respectively.

    +
  • +
  • +

    (xmin,ymin,w,h) with the integer indices of the top left corner +and the width and heigth of the cropped image in pixels (prior to +optional rescaling using resolution). When this format is used, +it is possible to set the width and height in pixels (default) or +in data units via the crop_unit parameter.

    +
  • +
+

The default is None which takes the entire image.

+
+
crop_unit : 'pixels' or 'data', optional
+
sets the unit in which the width and height in crop are +specified when using the (x,y,w,h) format, with 'pixels' to give +the size in pixels or 'data' to specify the size in the physical +unit used for the scalebar (after optional unit conversion via the +convert parameter). Note that the position of the top left corner +is given in pixels. The ((xmin,ymin),(xmax,ymax)) format must be +always given in pixels, and crop_unit is ignored if crop is +given in this format. The default is 'pixels'.
+
resolution : int, optional
+
the resolution along the x-axis (i.e. image width in pixels) to use +for the exported image. The default is None, which uses the size +of the original image (after optional cropping using crop).
+
draw_bar : boolean, optional
+
whether to draw a scalebar on the image, such that this function +may be used just to crop and rescale. The default is True.
+
barsize : float or None, optional
+
size (in data units matching the original scale bar, e.g. nm) of +the scale bar to use. The default None, wich takes the desired +length for the current scale and round this to the nearest option +from a list of "nice" values.
+
scale : float, optional
+
factor to change the size of the scalebar+text with respect to the +width of the image. Scale is chosen such, that at scale=1 the +font size of the scale bar text is approximately 10 pt when +the image is printed at half the width of the text in a typical A4 +paper document (e.g. two images side-by-side). The default is 1.
+
loc : int, one of [0,1,2,3], optional
+
Location of the scalebar on the image, where 0, 1, 2 and 3 +refer to the top left, top right, bottom left and bottom right +respectively. The default is 2, which is the bottom left corner.
+
convert : one of str, one of ['fm','pm','Å' or A,'nm','µm' or 'um','mm','cm','dm','m']
+
Unit that will be used for the scale bar, the value will be +automatically converted if this unit differs from the pixel size +unit. The default is None, which uses the unit of the scalebar on +the original image.
+
font : str, optional
+
filename of an installed TrueType font ('.ttf' file) to use for the +text on the scalebar. The default is 'arialbd.ttf'.
+
fontsize : int, optional
+
base font size to use for the scale bar text. The default is 16. +Note that this size will be re-scaled according to resolution and +scale.
+
fontbaseline : int, optional
+
vertical offset for the baseline of the scale bar text from the top +of the scale bar, in printer points. The default is 10.
+
fontpad : int, optional
+
minimum size in printer points of the space/padding between the +text and the bar and surrounding box. The default is 10.
+
barthickness : int, optional
+
thickness in printer points of the scale bar itself. The default is +16.
+
barpad : int, optional
+
size in printer points of the padding between the scale bar and the +surrounding box. The default is 10.
+
box : bool, optional
+
Whether to put a semitransparent box around the scalebar and text +to enhance contrast. The default is True.
+
boxalpha : float, optional
+
value between 0 and 1 for the opacity (inverse of transparency) of +the box behind the scalebar and text when box=True. The default +is 0.8.
+
invert : bool, optional
+
If True, a white scalebar and text on a black box are used. The +default is False which gives black text on a white background.
+
boxpad : int, optional
+
size of the space/padding around the box (with respect to the sides +of the image) in printer points. The default is 10.
+
store_settings : bool, optional
+
when True, a .txt file is saved along with the image containing +all settings passed to this function. The default is False
+
+
+
+def get_image(self) +
+
+

loads the image data

+

Returns

+
+
PIL.Image instance
+
 
+
+
+
+def get_metadata(self) +
+
+

extracts embedded metadata from the image file

+
+
+def get_pixelsize(self) +
+
+

gets the physical size of a pixel from the metadata

+

Returns

+
+
pixelsize : float
+
physical size of the pixels in x and y
+
unit : str
+
physical unit corresponding to the pixelsize.
+
+
+
+def print_metadata(self) +
+
+

print formatted output of metadata

+
+
+
+
+class helios +(filename) +
+
+

Set of convenience functions for the Helios SEM.

+

Parameters

+
+
filename : string
+
name of the file to load. Can but is not required to include .tif +as extension.
+
+

Returns

+
+
helios class instance
+
 
+
+

Methods

+
+
+def export_metadata(self, filename=None) +
+
+

save text file with metadata

+

Parameters

+
+
filename : str, optional
+
filename to store. The default is the image name with +'_metadata.txt' appended.
+
+
+
+def export_with_scalebar(self, filename=None, **kwargs) +
+
+

saves an exported image of the SEM image with a scalebar in one of the +four corners, where barsize is the scalebar size in data units (e.g. +nm) and scale the overall size of the scalebar and text with respect to +the width of the image.

+

Parameters

+
+
filename : string or None, optional
+
Filename + extension to use for the export file. The default is the +filename sans extension of the original SEM file, with +'_exported.png' appended.
+
preprocess : callable, optional
+
callable to pre-process the image before any other processing is +done, useful for e.g. smoothing. Must take and return a +numpy.ndarray containing the image data as only arguments, and must +not change e.g. the pixel size or the scale bar may be incorrectly +sized. The default is None.
+
crop : tuple or None, optional
+
+

range describing a area of the original image (before rescaling the +resolution) to crop out for the export image. Can have two forms:

+
    +
  • +

    ((xmin,ymin),(xmax,ymax)), with the integer pixel indices of +the top left and bottom right corners respectively.

    +
  • +
  • +

    (xmin,ymin,w,h) with the integer indices of the top left corner +and the width and heigth of the cropped image in pixels (prior to +optional rescaling using resolution). When this format is used, +it is possible to set the width and height in pixels (default) or +in data units via the crop_unit parameter.

    +
  • +
+

The default is None which takes the entire image.

+
+
crop_unit : 'pixels' or 'data', optional
+
sets the unit in which the width and height in crop are +specified when using the (x,y,w,h) format, with 'pixels' to give +the size in pixels or 'data' to specify the size in the physical +unit used for the scalebar (after optional unit conversion via the +convert parameter). Note that the position of the top left corner +is given in pixels. The ((xmin,ymin),(xmax,ymax)) format must be +always given in pixels, and crop_unit is ignored if crop is +given in this format. The default is 'pixels'.
+
resolution : int, optional
+
the resolution along the x-axis (i.e. image width in pixels) to use +for the exported image. The default is None, which uses the size +of the original image (after optional cropping using crop).
+
draw_bar : boolean, optional
+
whether to draw a scalebar on the image, such that this function +may be used just to strip the original bar and crop. The default is +True.
+
barsize : float or None, optional
+
size (in data units matching the original scale bar, e.g. nm) of +the scale bar to use. The default None, wich takes the desired +length for the current scale and round this to the nearest option +from a list of "nice" values.
+
scale : float, optional
+
factor to change the size of the scalebar+text with respect to the +width of the image. Scale is chosen such, that at scale=1 the +font size of the scale bar text is approximately 10 pt when +the image is printed at half the width of the text in a typical A4 +paper document (e.g. two images side-by-side). The default is 1.
+
loc : int, one of [0,1,2,3], optional
+
Location of the scalebar on the image, where 0, 1, 2 and 3 +refer to the top left, top right, bottom left and bottom right +respectively. The default is 2, which is the bottom left corner.
+
convert : str, one of ['fm','pm','Å' or A,'nm','µm' or 'um','mm','cm','dm','m']
+
Unit that will be used for the scale bar, the value will be +automatically converted if this unit differs from the pixel size +unit. The default is None, which uses the unit of the scalebar on +the original image.
+
font : str, optional
+
filename of an installed TrueType font ('.ttf' file) to use for the +text on the scalebar. The default is 'arialbd.ttf'.
+
fontsize : int, optional
+
base font size to use for the scale bar text. The default is 16. +Note that this size will be re-scaled according to resolution and +scale.
+
fontbaseline : int, optional
+
vertical offset for the baseline of the scale bar text from the top +of the scale bar, in printer points. The default is 10.
+
fontpad : int, optional
+
minimum size in printer points of the space/padding between the +text and the bar and surrounding box. The default is 10.
+
barthickness : int, optional
+
thickness in printer points of the scale bar itself. The default is +16.
+
barpad : int, optional
+
size in printer points of the padding between the scale bar and the +surrounding box. The default is 10.
+
box : bool, optional
+
Whether to put a semitransparent box around the scalebar and text +to enhance contrast. The default is True.
+
boxalpha : float, optional
+
value between 0 and 1 for the opacity (inverse of transparency) of +the box behind the scalebar and text when box=True. The default +is 0.8.
+
invert : bool, optional
+
If True, a white scalebar and text on a black box are used. The +default is False which gives black text on a white background.
+
boxpad : int, optional
+
size of the space/padding around the box (with respect to the sides +of the image) in printer points. The default is 10.
+
store_settings : bool, optional
+
when True, a .txt file is saved along with the image containing +all settings passed to this function. The default is False
+
+
+
+def get_image(self) +
+
+

load the image and split into image and databar

+

Returns

+
+
numpy.array
+
array of pixel values in the image (not including the data bar)
+
+
+
+def get_metadata(self) +
+
+

Load the metadata footer from Helios SEM files and return xml tree +object which can be indexed for extraction of useful parameters. Does +not require loading whole file into memory. Attempts first to find xml +formatted data, if this is not found it looks for 'human' formatted +metadata.

+

Returns

+
+
xml.etree.ElementTree root object
+
xml root object of the metadata. Can be printed using it as +argument to print_metadata, or indexed with +xml_root.find('<element name>').
+
+
+
+def get_pixelsize(self) +
+
+

gets the pixel size from the metadata and calculates the unit

+

Returns

+
+
pixelsize : tuple of float
+
the pixelsize in calibrated (physical) units in (x,y)
+
unit : string
+
the physical unit of the pixel size
+
+
+
+def print_metadata(self) +
+
+

print formatted output of metadata

+
+
+
+
+class phenom +(filename) +
+
+

Set of convenience functions for the phenom SEM microscopes.

+

Parameters

+
+
filename : str
+
filename of the image to load
+
+

Returns

+
+
phenom class instance
+
 
+
+

Methods

+
+
+def export_metadata(self, filename=None) +
+
+

save text file with metadata

+

Parameters

+
+
filename : str, optional
+
filename to store. The default is the image name with +'_metadata.txt' appended.
+
+
+
+def export_with_scalebar(self, filename=None, **kwargs) +
+
+

saves an exported image of the SEM image with a scalebar in one of the +four corners, where barsize is the scalebar size in data units (e.g. +nm) and scale the overall size of the scalebar and text with respect to +the width of the image.

+

Parameters

+
+
filename : string or None, optional
+
Filename + extension to use for the export file. The default is the +filename sans extension of the original SEM file, with +'_exported.png' appended.
+
preprocess : callable, optional
+
callable to pre-process the image before any other processing is +done, useful for e.g. smoothing. Must take and return a +numpy.ndarray containing the image data as only arguments, and must +not change e.g. the pixel size or the scale bar may be incorrectly +sized. The default is None.
+
crop : tuple or None, optional
+
+

range describing a area of the original image (before rescaling the +resolution) to crop out for the export image. Can have two forms:

+
    +
  • +

    ((xmin,ymin),(xmax,ymax)), with the integer pixel indices of +the top left and bottom right corners respectively.

    +
  • +
  • +

    (xmin,ymin,w,h) with the integer indices of the top left corner +and the width and heigth of the cropped image in pixels (prior to +optional rescaling using resolution). When this format is used, +it is possible to set the width and height in pixels (default) or +in data units via the crop_unit parameter.

    +
  • +
+

The default is None which takes the entire image.

+
+
crop_unit : 'pixels' or 'data', optional
+
sets the unit in which the width and height in crop are +specified when using the (x,y,w,h) format, with 'pixels' to give +the size in pixels or 'data' to specify the size in the physical +unit used for the scalebar (after optional unit conversion via the +convert parameter). Note that the position of the top left corner +is given in pixels. The ((xmin,ymin),(xmax,ymax)) format must be +always given in pixels, and crop_unit is ignored if crop is +given in this format. The default is 'pixels'.
+
resolution : int, optional
+
the resolution along the x-axis (i.e. image width in pixels) to use +for the exported image. The default is None, which uses the size +of the original image (after optional cropping using crop).
+
draw_bar : boolean, optional
+
whether to draw a scalebar on the image, such that this function +may be used just to strip the original bar and crop. The default is +True.
+
barsize : float or None, optional
+
size (in data units matching the original scale bar, e.g. nm) of +the scale bar to use. The default None, wich takes the desired +length for the current scale and round this to the nearest option +from a list of "nice" values.
+
scale : float, optional
+
factor to change the size of the scalebar+text with respect to the +width of the image. Scale is chosen such, that at scale=1 the +font size of the scale bar text is approximately 10 pt when +the image is printed at half the width of the text in a typical A4 +paper document (e.g. two images side-by-side). The default is 1.
+
loc : int, one of [0,1,2,3], optional
+
Location of the scalebar on the image, where 0, 1, 2 and 3 +refer to the top left, top right, bottom left and bottom right +respectively. The default is 2, which is the bottom left corner.
+
convert : str, one of ['fm','pm','Å' or A,'nm','µm' or 'um','mm','cm','dm','m']
+
Unit that will be used for the scale bar, the value will be +automatically converted if this unit differs from the pixel size +unit. The default is None, which uses the unit of the scalebar on +the original image.
+
font : str, optional
+
filename of an installed TrueType font ('.ttf' file) to use for the +text on the scalebar. The default is 'arialbd.ttf'.
+
fontsize : int, optional
+
base font size to use for the scale bar text. The default is 16. +Note that this size will be re-scaled according to resolution and +scale.
+
fontbaseline : int, optional
+
vertical offset for the baseline of the scale bar text from the top +of the scale bar, in printer points. The default is 10.
+
fontpad : int, optional
+
minimum size in printer points of the space/padding between the +text and the bar and surrounding box. The default is 10.
+
barthickness : int, optional
+
thickness in printer points of the scale bar itself. The default is +16.
+
barpad : int, optional
+
size in printer points of the padding between the scale bar and the +surrounding box. The default is 10.
+
box : bool, optional
+
Whether to put a semitransparent box around the scalebar and text +to enhance contrast. The default is True.
+
boxalpha : float, optional
+
value between 0 and 1 for the opacity (inverse of transparency) of +the box behind the scalebar and text when box=True. The default +is 0.8.
+
invert : bool, optional
+
If True, a white scalebar and text on a black box are used. The +default is False which gives black text on a white background.
+
boxpad : int, optional
+
size of the space/padding around the box (with respect to the sides +of the image) in printer points. The default is 10.
+
store_settings : bool, optional
+
when True, a .txt file is saved along with the image containing +all settings passed to this function. The default is False
+
+
+
+def get_image(self) +
+
+

load the image and split into image and databar

+
+
+def get_metadata(self) +
+
+

Load the metadata footer from Helios SEM files and return xml tree +object which can be indexed for extraction of useful parameters. Does +not require loading whole file into memory. Attempts first to find xml +formatted data, if this is not found it looks for 'human' formatted +metadata.

+

Returns

+
+
xml.etree.ElementTree object
+
xml root object of the metadata. Can be printed using it as +argument to print_metadata, or indexed with +xml_root.find('')
+
+
+
+def get_pixelsize(self) +
+
+

gets the pixel size from the metadata and calculates the unit

+

Returns

+
+
pixelsize : (y,x) tuple of float
+
physical size of the pixels
+
unit : str
+
physical unit corresponding to the pixelsize.
+
+
+
+def print_metadata(self) +
+
+

print formatted output of metadata

+
+
+
+
+class sis +(filename) +
+
+

Set of convenience functions for electron microscopy images of the now +defunct tecnai 10 microscope which operated the Olympus Soft Imaging System +software (analySIS) which exported to .tif. Initializing the class takes a +string containing the filename as only argument, and by default loads in +the image.

+

Parameters

+
+
filename : string
+
name of the file to load. Can but is not required to include .tif +as extension.
+
+

Methods

+
+
+def export_with_scalebar(self, filename=None, **kwargs) +
+
+

saves an exported image of the TEM image with a scalebar in one of the +four corners, where barsize is the scalebar size in data units (e.g. +nm) and scale the overall size of the scalebar and text with respect to +the width of the image.

+

Parameters

+
+
filename : string or None, optional
+
Filename + extension to use for the export file. The default is the +filename sans extension of the original TEM file, with +'_exported.png' appended.
+
preprocess : callable, optional
+
callable to pre-process the image before any other processing is +done, useful for e.g. smoothing. Must take and return a +numpy.ndarray containing the image data as only arguments, and must +not change e.g. the pixel size or the scale bar may be incorrectly +sized. The default is None.
+
crop : tuple or None, optional
+
+

range describing a area of the original image (before rescaling the +resolution) to crop out for the export image. Can have two forms:

+
    +
  • +

    ((xmin,ymin),(xmax,ymax)), with the integer pixel indices of +the top left and bottom right corners respectively.

    +
  • +
  • +

    (xmin,ymin,w,h) with the integer indices of the top left corner +and the width and heigth of the cropped image in pixels (prior to +optional rescaling using resolution). When this format is used, +it is possible to set the width and height in pixels (default) or +in data units via the crop_unit parameter.

    +
  • +
+

The default is None which takes the entire image.

+
+
crop_unit : 'pixels' or 'data', optional
+
sets the unit in which the width and height in crop are +specified when using the (x,y,w,h) format, with 'pixels' to give +the size in pixels or 'data' to specify the size in the physical +unit used for the scalebar (after optional unit conversion via the +convert parameter). Note that the position of the top left corner +is given in pixels. The ((xmin,ymin),(xmax,ymax)) format must be +always given in pixels, and crop_unit is ignored if crop is +given in this format. The default is 'pixels'.
+
intensity_range : tuple or None or 'automatic'
+
tuple of (lower,upper) ranges for the (original) pixel values to +scale the brightness/contrast in the image to, or 'automatic' to +autoscale the intensity to the 0.01th and 99.99th percentile of the +input image, or None for the min and max value in the original +image. The default is None.
+
resolution : int, optional
+
the resolution along the x-axis (i.e. image width in pixels) to use +for the exported image. The default is None, which uses the size +of the original image (after optional cropping using crop).
+
draw_bar : boolean, optional
+
whether to draw a scalebar on the image, such that this function +may be used just to strip the original bar and crop. The default is +True.
+
barsize : float or None, optional
+
size (in data units matching the original scale bar, e.g. nm) of +the scale bar to use. The default None, wich takes the desired +length for the current scale and round this to the nearest option +from a list of "nice" values.
+
scale : float, optional
+
factor to change the size of the scalebar+text with respect to the +width of the image. Scale is chosen such, that at scale=1 the +font size of the scale bar text is approximately 10 pt when +the image is printed at half the width of the text in a typical A4 +paper document (e.g. two images side-by-side). The default is 1.
+
loc : int, one of [0,1,2,3], optional
+
Location of the scalebar on the image, where 0, 1, 2 and 3 +refer to the top left, top right, bottom left and bottom right +respectively. The default is 2, which is the bottom left corner.
+
convert : str, one of ['fm','pm','Å' or A,'nm','µm' or 'um','mm','cm','dm','m']
+
Unit that will be used for the scale bar, the value will be +automatically converted if this unit differs from the pixel size +unit. The default is None, which uses the unit of the scalebar on +the original image.
+
font : str, optional
+
filename of an installed TrueType font ('.ttf' file) to use for the +text on the scalebar. The default is 'arialbd.ttf'.
+
fontsize : int, optional
+
base font size to use for the scale bar text. The default is 16. +Note that this size will be re-scaled according to resolution and +scale.
+
fontbaseline : int, optional
+
vertical offset for the baseline of the scale bar text from the top +of the scale bar, in printer points. The default is 10.
+
fontpad : int, optional
+
minimum size in printer points of the space/padding between the +text and the bar and surrounding box. The default is 10.
+
barthickness : int, optional
+
thickness in printer points of the scale bar itself. The default is +16.
+
barpad : int, optional
+
size in printer points of the padding between the scale bar and the +surrounding box. The default is 10.
+
box : bool, optional
+
Whether to put a semitransparent box around the scalebar and text +to enhance contrast. The default is True.
+
boxalpha : float, optional
+
value between 0 and 1 for the opacity (inverse of transparency) of +the box behind the scalebar and text when box=True. The default +is 0.8.
+
invert : bool, optional
+
If True, a white scalebar and text on a black box are used. The +default is False which gives black text on a white background.
+
boxpad : int, optional
+
size of the space/padding around the box (with respect to the sides +of the image) in printer points. The default is 10.
+
store_settings : bool, optional
+
when True, a .txt file is saved along with the image containing +all settings passed to this function. The default is False
+
+
+
+def get_metadata(self) +
+
+

Loads metadata from the file.

+

NOT IMPLEMENTED

+
+
+def get_pixelsize(self, convert=None) +
+
+

Gets the physical size represented by the pixels from the image +metadata

+

Parameters

+
+
convert : one of ['m', 'mm', 'um', 'µm', 'nm', 'pm', None], optional
+
physical unit to use for the pixel size. The default is None, which +chooses one of the above automatically based on the value.
+
+

Returns

+
+
pixelsize : float
+
the physical size of a pixel in the given unit
+
unit : str
+
physical unit of the pixel size
+
+
+
+
+
+class talos +(*args, **kwargs) +
+
+
+

Deprecated

+

The tecnai and Talos classes have been renamed to the tia class to +avoid confusion between data aquired using the older TIA and newer +Velox software from version 3.0.0 onwards. The old names are available +for backwards compatibility and should behave identically, but their +use is discouraged.

+
+

Class of functions for TEM images from the Talos microscopes operated with +the TIA software

+

See Also

+

tia

+

Ancestors

+
    +
  • scm_electron_microscopes.tem.tia
  • +
+
+
+class tecnai +(*args, **kwargs) +
+
+
+

Deprecated

+

The tecnai and Talos classes have been renamed to the tia class to +avoid confusion between data aquired using the older TIA and newer +Velox software from version 3.0.0 onwards. The old names are available +for backwards compatibility and should behave identically, but their +use is discouraged.

+
+

Class of functions for TEM images from the tecnai microscopes operated with +the TIA software

+

See Also

+

tia

+

Ancestors

+
    +
  • scm_electron_microscopes.tem.tia
  • +
+
+
+class tia +(filename) +
+
+

Set of convenience functions for electron microscopy images of the tecnai +12, 20, 20feg and Talos microscopes when using the TIA software and +exporting the images as .tif files from TIA. Initializing the class takes a +string containing the filename as only argument, and by default loads in +the image.

+

Parameters

+
+
filename : string
+
name of the file to load. Can but is not required to include .tif +as extension.
+
+

Attributes

+
+
filename : string
+
name of the image file
+
image : np.ndarray
+
array of pixel values of the image with the optional data/scale bar +cropped off
+
scalebar : numpy.ndarray
+
if present, the array of pixel values of the original data/scale bar
+
shape : tuple
+
shape in (y,x) pixels of the image array
+
dtype : numpy.dtype
+
data type of the pixel values, generally unint8 or uint16
+
PIL_image : PIL.Image
+
python imaging library Image object of the image file
+
+

Returns

+

tia class instance

+

Subclasses

+
    +
  • scm_electron_microscopes.tem.talos
  • +
  • scm_electron_microscopes.tem.tecnai
  • +
+

Methods

+
+
+def export_metadata(self, filename=None) +
+
+

save text file with metadata

+

Parameters

+
+
filename : str, optional
+
filename to store. The default is the image name with +'_metadata.txt' appended.
+
+
+
+def export_with_scalebar(self, filename=None, **kwargs) +
+
+

saves an exported image of the TEM image with a scalebar in one of the +four corners, where barsize is the scalebar size in data units (e.g. +nm) and scale the overall size of the scalebar and text with respect to +the width of the image.

+

Parameters

+
+
filename : string or None, optional
+
Filename + extension to use for the export file. The default is the +filename sans extension of the original TEM file, with +'_exported.png' appended.
+
preprocess : callable, optional
+
callable to pre-process the image before any other processing is +done, useful for e.g. smoothing. Must take and return a +numpy.ndarray containing the image data as only arguments, and must +not change e.g. the pixel size or the scale bar may be incorrectly +sized. The default is None.
+
crop : tuple or None, optional
+
+

range describing a area of the original image (before rescaling the +resolution) to crop out for the export image. Can have two forms:

+
    +
  • +

    ((xmin,ymin),(xmax,ymax)), with the integer pixel indices of +the top left and bottom right corners respectively.

    +
  • +
  • +

    (xmin,ymin,w,h) with the integer indices of the top left corner +and the width and heigth of the cropped image in pixels (prior to +optional rescaling using resolution). When this format is used, +it is possible to set the width and height in pixels (default) or +in data units via the crop_unit parameter.

    +
  • +
+

The default is None which takes the entire image.

+
+
crop_unit : 'pixels' or 'data', optional
+
sets the unit in which the width and height in crop are +specified when using the (x,y,w,h) format, with 'pixels' to give +the size in pixels or 'data' to specify the size in the physical +unit used for the scalebar (after optional unit conversion via the +convert parameter). Note that the position of the top left corner +is given in pixels. The ((xmin,ymin),(xmax,ymax)) format must be +always given in pixels, and crop_unit is ignored if crop is +given in this format. The default is 'pixels'.
+
intensity_range : tuple or None or 'automatic', optional
+
tuple of (lower,upper) ranges for the (original) pixel values to +scale the brightness/contrast in the image to, or 'automatic' to +autoscale the intensity to the 0.01th and 99.99th percentile of the +input image, or None for the min and max value in the original +image. The default is None.
+
resolution : int, optional
+
the resolution along the x-axis (i.e. image width in pixels) to use +for the exported image. The default is None, which uses the size +of the original image (after optional cropping using crop).
+
draw_bar : boolean, optional
+
whether to draw a scalebar on the image, such that this function +may be used just to strip the original bar and crop. The default is +True.
+
barsize : float or None, optional
+
size (in data units matching the original scale bar, e.g. nm) of +the scale bar to use. The default None, wich takes the desired +length for the current scale and round this to the nearest option +from a list of "nice" values.
+
scale : float, optional
+
factor to change the size of the scalebar+text with respect to the +width of the image. Scale is chosen such, that at scale=1 the +font size of the scale bar text is approximately 10 pt when +the image is printed at half the width of the text in a typical A4 +paper document (e.g. two images side-by-side). The default is 1.
+
loc : int, one of [0,1,2,3], optional
+
Location of the scalebar on the image, where 0, 1, 2 and 3 +refer to the top left, top right, bottom left and bottom right +respectively. The default is 2, which is the bottom left corner.
+
convert : str, one of ['fm','pm','Å' or A,'nm','µm' or 'um','mm','cm','dm','m']
+
Unit that will be used for the scale bar, the value will be +automatically converted if this unit differs from the pixel size +unit. The default is None, which uses the unit of the scalebar on +the original image.
+
font : str, optional
+
filename of an installed TrueType font ('.ttf' file) to use for the +text on the scalebar. The default is 'arialbd.ttf'.
+
fontsize : int, optional
+
base font size to use for the scale bar text. The default is 16. +Note that this size will be re-scaled according to resolution and +scale.
+
fontbaseline : int, optional
+
vertical offset for the baseline of the scale bar text from the top +of the scale bar, in printer points. The default is 10.
+
fontpad : int, optional
+
minimum size in printer points of the space/padding between the +text and the bar and surrounding box. The default is 10.
+
barthickness : int, optional
+
thickness in printer points of the scale bar itself. The default is +16.
+
barpad : int, optional
+
size in printer points of the padding between the scale bar and the +surrounding box. The default is 10.
+
box : bool, optional
+
Whether to put a semitransparent box around the scalebar and text +to enhance contrast. The default is True.
+
boxalpha : float, optional
+
value between 0 and 1 for the opacity (inverse of transparency) of +the box behind the scalebar and text when box=True. The default +is 0.8.
+
invert : bool, optional
+
If True, a white scalebar and text on a black box are used. The +default is False which gives black text on a white background.
+
boxpad : int, optional
+
size of the space/padding around the box (with respect to the sides +of the image) in printer points. The default is 10.
+
store_settings : bool, optional
+
when True, a .txt file is saved along with the image containing +all settings passed to this function. The default is False
+
+
+
+def get_metadata(self, asdict=False) +
+
+

loads xml metadata from .tif file and returns xml tree object or dict

+

Parameters

+
+
asdict : bool, optional
+
whether to export as a dictionary. When False, an +xml.etree.ElementTree is returned. The default is False.
+
+

Returns

+
+
dictionary or xml root object
+
dictionary or xml root object of the metadata. Can be indexed with +xml_root.find('')
+
+
+
+def get_pixelsize(self, convert=None) +
+
+

Gets the physical size represented by the pixels from the image +metadata

+

Parameters

+
+
convert : str, one of [fm,pm,Å,'A',nm,um,µm,mm,cm,dm,m], optional
+
physical unit to use for the pixel size. The default is None, which +chooses one of the above automatically based on the value.
+
+

Returns

+
+
pixelsize : float
+
the physical size of a pixel in the given unit
+
unit : str
+
physical unit of the pixel size
+
+
+
+def get_pixelsize_legacy(self, debug=False, use_legacy_measurement=False) +
+
+
+

Deprecated

+

This function has been deprecated and may give slightly inaccurate +result (only accurate to the nearest whole pixel), use +tia.get_pixelsize() for more accurate and faster calibration. +Included for cases where results using the previous calibration +method must be reproduced or compared with.

+
+

Reads the scalebar from images of the Tecnai or Talos +TEM microscopes +using text recognition via pytesseract or with manual input when +pytesseract is not installed

+

Parameters

+
+
debug : bool, optional
+
enable debug mode which prints extra information and figures to +troubleshoot any issues with calibration. The default is False.
+
use_legacy_measurement : bool, optional
+
if True, use the (incorrect) left-side to left-side distance of +the vertical lines of the scale bar (i.e. equal to the +centre-to-centre distance of the vertical parts of the line). This +was long thought to be the correct way to interpret the scale bar +and is available for backwards compatability with older data +(analysis). The default is False, which uses the outermost white +pixels of the scale bar, i.e. from the leftmost row of white pixels +of the left vertical part to the rightmost row of the right +vertical part.
+
+

Returns

+
+
pixelsize : float
+
the pixelsize in calibrated (physical) units
+
unit : string
+
the physical unit of the pixelsize
+
+
+
+def print_metadata(self) +
+
+

prints formatted output of the file's metadata

+
+
+
+
+class util +
+
+

utility functions

+

Methods

+
+
+def image_histogram(image, binsize=1, log=True) +
+
+

plot histogram of the image grey values

+

Parameters

+
+
image : numpy.array-like
+
the image to calculate the intensity histogram for.
+
binsize : float-like, optional
+
width (in intensity units) of the bins to use. The default is 1.
+
log : bool, optional
+
Whether to plot the histogram y axis on a log scale. The default is +True.
+
+
+
+def print_metadata(xml_root) +
+
+

print xml attributes/tags of phenom data to inspect elements.

+

Parameters

+
+
xml_root : xml root object
+
Takes output of get_metadata() and prints formatted metadata to the +terminal
+
+
+
+
+
+class velox +(filename=None, quiet=False) +
+
+

Class for importing the .emd file format used natively by the Velox +software used on the Talos microscopes.

+

Note that one .emd file may contain multiple images / videos, (e.g. when +recording with multiple detectors simultaneously), and most functions are +available through the velox_image subclass accessible through the +get_image function.

+

Parameters

+
+
filename : str or int
+
The filename to load, extension optional. Alternatively an integer may +be given to load the nth file in the current working directory. The +default is to load the first file.
+
quiet : bool
+
whether to print a list of images contained in the file when the class +is initialized. The default is False.
+
+

Returns

+

velox class instance

+
+
init class instance, open file container
+
 
+
+

Methods

+
+
+def get_dataset(self, dataset) +
+
+

Returns velox_image class instance containing all data and metadata +for a particular image in the file.

+

Parameters

+
+
image : str or int
+
the image to return the data for, given as the name/tag (when str) +or as its integer index in the file, i.e. velox.get_image(0) +returns the data container for the first image.
+
+

Returns

+

velox_dataset or velox_image class instance

+
+
+def print_file_struct(self) +
+
+

prints a formatted overview of the structure of the .emd file +container, useful for accessing additional data manually

+
+
+
+
+class velox_edx +(parent, im) +
+
+

subclass for emd files with edx data

+

Ancestors

+
    +
  • scm_electron_microscopes.tem.velox_dataset
  • +
+

Methods

+
+
+def get_image(self, energy_ranges=None, frame_range=None, binning=1) +
+
+

returns edx/eds image where the pixel value is the total number of +photon counts within the specified energy range(s) and frame range.

+

Parameters

+
+
energy_ranges : list of tuples, optional
+
List of (min,max) energy range(s) specifying which photons to +count, given in keV. The default is None which takes all photon +counts.
+
frame_range : tuple, optional
+
Tuple of (min,max) for the frame indices to sum the counts for. The +default is None which sums all frames.
+
+

Returns

+
+
2D numpy.array
+
 
+
+
+
+def get_spectrum(self) +
+
+

get overall spectral data for the edx dataset

+

Returns

+
+
energies : numpy.array
+
energies in keV
+
counts : numpy.array
+
number of photon counts per energy
+
+
+
+
+
+class velox_image +(parent, im) +
+
+

Subclass of the velox_dataset class for individual images (or image +series) in an .emd file, such as when simultaneously recording HAADF-STEM +and BF-STEM. Not indended to be called directly, rather to be initialized +trough the get_image method of the velox +class.

+

Parameters

+
+
filename : str
+
the .emd file to take the image from
+
im : str or int
+
name / tag or integer index of the image to initialize
+
+

Ancestors

+
    +
  • scm_electron_microscopes.tem.velox_dataset
  • +
+

Methods

+
+
+def export_tiff(self, filename_prefix=None, frame_range=None, **kwargs) +
+
+

stores the image data to a tiff file with metadata stored in the image +description for futher processing or viewing in other software.

+

Parameters

+
+
filename_prefix : str
+
filename to use for saved file without file extension
+
frame_range : int or tuple of int
+
int specifying which frame, or tuple of (start,stop) ints +specifying which frames, to save in the tiff file. The default is +all frames in the dataset
+
kwargs : dict
+
any further keyword arguments will be passed on to +tifffile.imsave.
+
+

Returns

+

None.

+
+
+def export_with_scalebar(self, frame=0, filename=None, **kwargs) +
+
+

saves an exported image of the TEM image with a scalebar in one of the +four corners, where barsize is the scalebar size in data units (e.g. +nm) and scale the overall size of the scalebar and text with respect to +the width of the image.

+

Parameters

+
+
filename : string or None, optional
+
Filename + extension to use for the export file. The default is the +filename sans extension of the original TEM file, with +'_exported.png' appended.
+
frame : int
+
the frame to export, see get_frame(). The default is 0.
+
preprocess : callable, optional
+
callable to pre-process the image before any other processing is +done, useful for e.g. smoothing. Must take and return a +numpy.ndarray containing the image data as only arguments, and must +not change e.g. the pixel size or the scale bar may be incorrectly +sized. The default is None.
+
crop : tuple or None, optional
+
+

range describing a area of the original image (before rescaling the +resolution) to crop out for the export image. Can have two forms:

+
    +
  • +

    ((xmin,ymin),(xmax,ymax)), with the integer pixel indices of +the top left and bottom right corners respectively.

    +
  • +
  • +

    (xmin,ymin,w,h) with the integer indices of the top left corner +and the width and heigth of the cropped image in pixels (prior to +optional rescaling using resolution). When this format is used, +it is possible to set the width and height in pixels (default) or +in data units via the crop_unit parameter.

    +
  • +
+

The default is None which takes the entire image.

+
+
crop_unit : 'pixels' or 'data', optional
+
sets the unit in which the width and height in crop are +specified when using the (x,y,w,h) format, with 'pixels' to give +the size in pixels or 'data' to specify the size in the physical +unit used for the scalebar (after optional unit conversion via the +convert parameter). Note that the position of the top left corner +is given in pixels. The ((xmin,ymin),(xmax,ymax)) format must be +always given in pixels, and crop_unit is ignored if crop is +given in this format. The default is 'pixels'.
+
intensity_range : tuple or None or 'automatic'
+
tuple of (lower,upper) ranges for the (original) pixel values to +scale the brightness/contrast in the image to, or 'automatic' to +autoscale the intensity to the 0.01th and 99.99th percentile of the +input image, or None for the min and max value in the original +image. The default is None.
+
resolution : int, optional
+
the resolution along the x-axis (i.e. image width in pixels) to use +for the exported image. The default is None, which uses the size +of the original image (after optional cropping using crop).
+
draw_bar : boolean, optional
+
whether to draw a scalebar on the image, such that this function +may be used just to strip the original bar and crop. The default is +True.
+
barsize : float or None, optional
+
size (in data units matching the original scale bar, e.g. nm) of +the scale bar to use. The default None, wich takes the desired +length for the current scale and round this to the nearest option +from a list of "nice" values.
+
scale : float, optional
+
factor to change the size of the scalebar+text with respect to the +width of the image. Scale is chosen such, that at scale=1 the +font size of the scale bar text is approximately 10 pt when +the image is printed at half the width of the text in a typical A4 +paper document (e.g. two images side-by-side). The default is 1.
+
loc : int, one of [0,1,2,3], optional
+
Location of the scalebar on the image, where 0, 1, 2 and 3 +refer to the top left, top right, bottom left and bottom right +respectively. The default is 2, which is the bottom left corner.
+
convert : str, one of ['fm','pm','Å' or A,'nm','µm' or 'um','mm','cm','dm','m'], optional
+
Unit that will be used for the scale bar, the value will be +automatically converted if this unit differs from the pixel size +unit. The default is None, which uses the unit of the scalebar on +the original image.
+
font : str, optional
+
filename of an installed TrueType font ('.ttf' file) to use for the +text on the scalebar. The default is 'arialbd.ttf'.
+
fontsize : int, optional
+
base font size to use for the scale bar text. The default is 16. +Note that this size will be re-scaled according to resolution and +scale.
+
fontbaseline : int, optional
+
vertical offset for the baseline of the scale bar text from the top +of the scale bar, in printer points. The default is 10.
+
fontpad : int, optional
+
minimum size in printer points of the space/padding between the +text and the bar and surrounding box. The default is 10.
+
barthickness : int, optional
+
thickness in printer points of the scale bar itself. The default is +16.
+
barpad : int, optional
+
size in printer points of the padding between the scale bar and the +surrounding box. The default is 10.
+
box : bool, optional
+
Whether to put a semitransparent box around the scalebar and text +to enhance contrast. The default is True.
+
boxalpha : float, optional
+
value between 0 and 1 for the opacity (inverse of transparency) of +the box behind the scalebar and text when box=True. The default +is 0.8.
+
invert : bool, optional
+
If True, a white scalebar and text on a black box are used. The +default is False which gives black text on a white background.
+
boxpad : int, optional
+
size of the space/padding around the box (with respect to the sides +of the image) in printer points. The default is 10.
+
store_settings : bool, optional
+
when True, a .txt file is saved along with the image containing +all settings passed to this function. The default is False
+
+
+
+def get_data(self) +
+
+

Loads and returns the full image data as numpy array

+

Returns

+
+
numpy.ndarray of pixel value
+
 
+
s
+
 
+
+
+
+def get_frame(self, i) +
+
+

returns specific image / video frame from the dataset

+

Parameters

+
+
i : int
+
the index of the frame to load
+
+

Returns

+
+
numpy.array of pixel values
+
 
+
+
+
+def get_frametime(self) +
+
+

Returns the time in seconds it takes to scan one frame

+

Returns

+
+
float
+
 
+
+
+
+def get_pixelsize(self, convert=None) +
+
+

returns the pixel size from the metadata, rescaled to an appropriate +unit for convenience

+

Parameters

+
+
convert : one of ['pm', 'nm', 'µm', 'um', 'mm', 'm']
+
physical data unit to convert the pixel size to, the default is +None which chooses a unit based on the magnitude.
+
+

Returns

+
+
pixelsize : tuple of float
+
(y,x) pixel sizes
+
unit : str
+
physical unit of the pixel size
+
+
+
+
+
+class xl30sfeg +(filename) +
+
+

Set of convenience functions for the xl30sfeg SEM microscope.

+

Parameters

+
+
filename : str
+
filename of the image to load
+
+

Returns

+
+
xl30sfeg class instance
+
 
+
+

Methods

+
+
+def export_with_scalebar(self, filename=None, **kwargs) +
+
+

saves an exported image of the SEM image with a scalebar in one of the +four corners, where barsize is the scalebar size in data units (e.g. +nm) and scale the overall size of the scalebar and text with respect to +the width of the image.

+

Parameters

+
+
filename : string or None, optional
+
Filename + extension to use for the export file. The default is the +filename sans extension of the original SEM file, with +'_exported.png' appended.
+
preprocess : callable, optional
+
callable to pre-process the image before any other processing is +done, useful for e.g. smoothing. Must take and return a +numpy.ndarray containing the image data as only arguments, and must +not change e.g. the pixel size or the scale bar may be incorrectly +sized. The default is None.
+
crop : tuple or None, optional
+
+

range describing a area of the original image (before rescaling the +resolution) to crop out for the export image. Can have two forms:

+
    +
  • +

    ((xmin,ymin),(xmax,ymax)), with the integer pixel indices of +the top left and bottom right corners respectively.

    +
  • +
  • +

    (xmin,ymin,w,h) with the integer indices of the top left corner +and the width and heigth of the cropped image in pixels (prior to +optional rescaling using resolution). When this format is used, +it is possible to set the width and height in pixels (default) or +in data units via the crop_unit parameter.

    +
  • +
+

The default is None which takes the entire image.

+
+
crop_unit : 'pixels' or 'data', optional
+
sets the unit in which the width and height in crop are +specified when using the (x,y,w,h) format, with 'pixels' to give +the size in pixels or 'data' to specify the size in the physical +unit used for the scalebar (after optional unit conversion via the +convert parameter). Note that the position of the top left corner +is given in pixels. The ((xmin,ymin),(xmax,ymax)) format must be +always given in pixels, and crop_unit is ignored if crop is +given in this format. The default is 'pixels'.
+
resolution : int, optional
+
the resolution along the x-axis (i.e. image width in pixels) to use +for the exported image. The default is None, which uses the size +of the original image (after optional cropping using crop).
+
draw_bar : boolean, optional
+
whether to draw a scalebar on the image, such that this function +may be used just to strip the original bar and crop. The default is +True.
+
barsize : float or None, optional
+
size (in data units matching the original scale bar, e.g. nm) of +the scale bar to use. The default None, wich takes the desired +length for the current scale and round this to the nearest option +from a list of "nice" values.
+
scale : float, optional
+
factor to change the size of the scalebar+text with respect to the +width of the image. Scale is chosen such, that at scale=1 the +font size of the scale bar text is approximately 10 pt when +the image is printed at half the width of the text in a typical A4 +paper document (e.g. two images side-by-side). The default is 1.
+
loc : int, one of [0,1,2,3], optional
+
Location of the scalebar on the image, where 0, 1, 2 and 3 +refer to the top left, top right, bottom left and bottom right +respectively. The default is 2, which is the bottom left corner.
+
convert : str, ['fm','pm','Å' or A,'nm','µm' or 'um','mm','cm','dm','m']
+
Unit that will be used for the scale bar, the value will be +automatically converted if this unit differs from the pixel size +unit. The default is None, which uses the unit of the scalebar on +the original image.
+
font : str, optional
+
filename of an installed TrueType font ('.ttf' file) to use for the +text on the scalebar. The default is 'arialbd.ttf'.
+
fontsize : int, optional
+
base font size to use for the scale bar text. The default is 16. +Note that this size will be re-scaled according to resolution and +scale.
+
fontbaseline : int, optional
+
vertical offset for the baseline of the scale bar text from the top +of the scale bar, in printer points. The default is 10.
+
fontpad : int, optional
+
minimum size in printer points of the space/padding between the +text and the bar and surrounding box. The default is 10.
+
barthickness : int, optional
+
thickness in printer points of the scale bar itself. The default is +16.
+
barpad : int, optional
+
size in printer points of the padding between the scale bar and the +surrounding box. The default is 10.
+
box : bool, optional
+
Whether to put a semitransparent box around the scalebar and text +to enhance contrast. The default is True.
+
boxalpha : float, optional
+
value between 0 and 1 for the opacity (inverse of transparency) of +the box behind the scalebar and text when box=True. The default +is 0.8.
+
invert : bool, optional
+
If True, a white scalebar and text on a black box are used. The +default is False which gives black text on a white background.
+
boxpad : int, optional
+
size of the space/padding around the box (with respect to the sides +of the image) in printer points. The default is 10.
+
store_settings : bool, optional
+
when True, a .txt file is saved along with the image containing +all settings passed to this function. The default is False
+
+
+
+def get_image(self) +
+
+

load the image and (if present) scalebar

+
+
+def get_metadata(self) +
+
+

Load the metadata footer from XL30SFEG SEM files and return xml +tree object which can be indexed for extraction of useful parameters. +Does not require loading whole file into memory. Searches for 'human' +formatted metadata.

+

Returns

+
+
xml_root : xml.etree.ElementTree object
+
xml root object of the metadata. Can be printed using it as +argument to print_metadata, or indexed with +xml_root.find('')
+
+
+
+def get_pixelsize(self) +
+
+

gets the pixel size from the metadata and calculates the unit

+

Returns

+
+
pixelsize : float
+
physical size of the pixels in x and y
+
unit : str
+
physical unit corresponding to the pixelsize.
+
+
+
+def print_metadata(self) +
+
+

print formatted output of metadata

+
+
+
+
+
+
+ +
+ + + \ No newline at end of file