torchbox.utils package

Submodules

torchbox.utils.colormaps module

torchbox.utils.colors module

torchbox.utils.colors.gray2rgb(gray, cmap, drange=[0, 255], fmtstr=False)

Converts gray images to rgb image

converts gray images to rgb image according to the specified colormap string ‘cmap’, supported are: 'parula', 'jet', 'hsv', 'hot', 'cool', 'spring', 'summer', 'autumn', 'winter', 'gray', 'bone', 'copper', 'pink', 'lines', 'colorcube', 'prism', 'flag', 'white'.

Parameters
  • gray (torch tensor) – The gray image \(N\times H\times W\), or the gray images \(N\times H\times W\), \(N\) is the number of images.

  • cmap (str or colormap) – colormap string

  • drange (list or tuple) – The low and high value, default is [0, 255]

  • fmtstr (bool or str) – Specifies the format ('int', 'uint8', 'uint16', 'uint32', 'float16', 'float32', , 'float64') for the output rgb matrix. (default is False, don’t change)

:param see also rgb2gray().:

Examples

import torchbox as tb
import matplotlib.pyplot as plt
import torch as th

cmap = 'jet'
# cmap = 'hsv'
# cmap = 'hot'
# cmap = 'parula'
gray = ts.imread('../../data/images/LenaGRAY256.png')
print(gray.shape)

rgb = gray2rgb(gray, cmap, [0, 1], False)  # rgb --> double, [0, 1]
# rgb = gray2rgb(gray, cmap, [0, 255], False)  # rgb --> double, [0., 255.]
# rgb = gray2rgb(gray, cmap, [0, 255], True)  # rgb --> uint8, [0, 255]

print(gray.shape, th.min(gray), th.max(gray), gray.dtype)
print(rgb.shape, th.min(rgb), th.max(rgb), rgb.dtype)

plt.figure()
plt.subplot(121)
plt.imshow(gray, cmap=pb.parula if cmap == 'parula' else cmap)
plt.subplot(122)
plt.imshow(rgb)
plt.show()
torchbox.utils.colors.rgb2gray(rgb, fmt='chnllast')

Converts RGB image to GRAY image

Converts RGB image to GRAY image according to

\[G = 0.2989R + 0.5870G + 0.1140B \]

see matlab’s rgb2gray function for details.

see also gray2rgb().

Parameters
  • rgb (Tensor) – Original RGB tensor.

  • fmt (str, optional) – Specifies the position of channels in rgb tensor, surpported are: - 'chnllast' (default) - 'chnlfirst'

torchbox.utils.const module

torchbox.utils.convert module

torchbox.utils.convert.bstr2int(b, endian='<', signed=True)

convert binary string data to integer

Parameters
  • b (bstr) – an integer in binary format

  • endian (str, optional) – The order of the bytes, supported are little endian: '<' (the default), big endian: '>'.

  • signed (bool, optional) – signed or unsigned, by default True

Returns

The integer in decimal.

Return type

int

Examples

n = -123

bs = int2bstr(n, 4, '<', signed=True)
print(bs)
print(hex(n))
print(bstr2int(bs, '<'))

bs = int2bstr(n, 4, '>', signed=True)
print(bs)
print(hex(n))
print(bstr2int(bs, '>'))

# ---output
b'\x85\xff\xff\xff'
-0x7b
-123
b'\xff\xff\xff\x85'
-0x7b
-123
torchbox.utils.convert.dict2str(ddict, attrtag=': ', indent='  ', linebreak='\n', nindent=0)

dump dict object to str

Parameters
  • ddict (dict) – The dict object to be converted

  • attrtag (str, optional) – The tag of attribution, by default ': '

  • indent (str, optional) – The dict identifier, by default '  '

  • linebreak (str, optional) – The line break character, by default ‘n’

  • nindent (int, optional) – the number of initial indent characters, by default 0

Returns

The converted string.

Return type

str

torchbox.utils.convert.file2hash(file, hmode='sha256', tohex=True)

convert a string to hash code

Parameters
  • s (str) – the input

  • hmode (str or hash function, optional) – must either be a hash algorithm name as a str, a hash constructor, or a callable that returns a hash object. 'sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', …, see hashlib Defaults to ‘sha256’.

  • tohex (bool, optional) – return hex code? Defaults to True.

torchbox.utils.convert.int2bstr(n, nbytes, endian='<', signed=True)

converts integer to bytes string

Parameters
  • n (int) – the input integer

  • nbytes (int) – the number of bytes

  • endian (str, optional) – byte order, supported are little endian: '<' (the default), big endian: '>'.

  • signed (bool, optional) – signed or unsigned, by default True

Returns

The integer in binary string format.

Return type

bstr

Examples

n = -123

bs = int2bstr(n, 4, '<', signed=True)
print(bs)
print(hex(n))
print(bstr2int(bs, '<'))

bs = int2bstr(n, 4, '>', signed=True)
print(bs)
print(hex(n))
print(bstr2int(bs, '>'))

# ---output
b'\x85\xff\xff\xff'
-0x7b
-123
b'\xff\xff\xff\x85'
-0x7b
-123
torchbox.utils.convert.str2bool(s, truelist=['true', '1', 'y', 'yes'], falselist=['false', '0', 'n', 'no'])

Converts string to bool

Parameters
  • s (str) – The input string

  • truelist (list) – The true flag list.

  • falselist (list) – The false flag list.

torchbox.utils.convert.str2hash(s, hmode='sha256', enc='utf-8', tohex=True)

convert a string to hash code

Parameters
  • s (str) – the input

  • hmode (str or hash function, optional) –

    must either be a hash algorithm name as a str, a hash constructor, or a callable that returns a hash object. 'sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', …, see hashlib Defaults to ‘sha256’.

  • tohex (bool, optional) – return hex code? Defaults to True.

torchbox.utils.convert.str2list(s, sep=' ')

Converts string to list

Parameters
  • s (str) – The input string

  • sep (str) – The separator, only work when literal_eval() fails.

Examples

s = '[0, [[[[1], 2.], 33], 4], [5, [6, 2.E-3]], 7, [8]], 1e-3'
print(str2list(s))

# ---output
([0, [[[[1], 2.0], 33], 4], [5, [6, 0.002]], 7, [8]], 0.001)
torchbox.utils.convert.str2num(s, vfn=None)

Extracts numbers in a string.

Parameters
  • s (str) – The string.

  • vfn (None, optional) – formating function, such as int, float or 'auto'.

Returns

The number list.

Return type

list

Examples

print(str2num(s, int))
print(str2num(s, float))
print(str2num(s, 'auto'))

print(2**(str2num('int8', int)[0]))
print(str2num('int', int) == [])

# ---output
[0, 1, 2, 33, 4, 5, 6, 0, 7, 8, 0]
[0.0, 1.0, 2.0, 33.0, 4.0, 5.0, 6.0, 0.002, 7.0, 8.0, 0.001]
[0, 1, 2.0, 33, 4, 5, 6, 0.002, 7, 8, 0.001]
256
True
torchbox.utils.convert.str2sec(x, sep=':')

Extracts second in a time string.

hh:mm:ss –> hh*3600 + mm*60 + ss

Parameters
  • s (str) – The string or string list/tuple.

  • sep (str) – The separator between hour, minute and seconds, default is ':'.

Returns

y – The seconds.

Return type

int

Examples

print(str2sec('1:00:0'))
print(str2sec('1:10:0'))
print(str2sec('1:10:6'))
print(str2sec('1:10:30'))

# ---output
3600
4200
4206
4230
torchbox.utils.convert.str2tuple(s, sep=' ')

Converts string to tuple

Parameters
  • s (str) – The input string

  • sep (str) – The separator, only work when literal_eval() fails.

Examples

s = '[0, [[[[1], 2.], 33], 4], [5, [6, 2.E-3]], 7, [8]], 1e-3'
print(str2list(s))

# ---output
([0, [[[[1], 2.0], 33], 4], [5, [6, 0.002]], 7, [8]], 0.001)

torchbox.utils.file module

torchbox.utils.file.copyfile(srcfile, dstfile)

copy file

copy file from srcfile to dstfile.

Parameters
  • srcfile (str) – the source file path string

  • dstfile (str) – the destnation file path string

torchbox.utils.file.copyfiles(srcdir, dstdir, filenames)

copy files

copy files from source directory to destnation directory

Parameters
  • srcdir (str) – the source directory path string

  • dstdir (str) – the destnation directory path string

  • filenames (list or tuple) – filenames to be copied

torchbox.utils.file.data_path(dsname=None)

obtain data source path

Parameters

dsname (str, optional) – dataset name ('character', 'shape', 'optical', 'remote', 'mstar'), by default None

Returns

the path string.

Return type

str

torchbox.utils.file.fileparts(file)

Filename parts

Returns the path, file name, and file name extension for the specified file. The file input is the name of a file or folder, and can include a path and file name extension.

Parameters

file (str) – The name string of a file or folder.

Returns

  • filepath (str) – The path string of the file or folder.

  • name (str) – The name string of the file or folder.

  • ext (str) – The extension string of the file.

torchbox.utils.file.fopen(file, mode='r', buffering=- 1, encoding=None, errors=None, newline=None, closefd=True)

file open

difference to python’s builtin function open() is when mode is 'w', if the file is not empty, this function gives a selection of overwrite or skip.

Parameters
  • file (str) – file path string.

  • mode (str, optional) – 'r' (read), 'w' (overwrite), 'a' (append), …, see also open(), by default “r”.

  • buffering (int, optional) – see also open(), , by default -1

  • encoding (str, optional) – see also open(), , by default None

  • errors (str, optional) – see also open(), , by default None

  • newline (str, optional) – see also open(), , by default None

  • closefd (bool, optional) – see also open(), , by default True

Return type

TextIOWrapper or None

torchbox.utils.file.listxfile(listdir=None, exts=None, recursive=False)

List the files in a directory.

Parameters
  • listdir (None, optional) – The directory for listing. The default is None, which means return filelist directly.

  • exts (str, list or None, optional) – File extension string or extension string list, such as '.png' or ['.png', 'jpg']. The default is None, which means any extension.

  • recursive (bool, optional) – Recursive search? The default is False, which means only list the root directory (listdir).

Returns

The list of file path with extension exts. Sometimes you need to sort the list using sorted.

Return type

list

torchbox.utils.file.pathjoin(*kwargs)

Joint strings to a path.

Parameters

*kwargs – strings.

Returns

The joined path string.

Return type

str

torchbox.utils.file.pkg_path()

obtain this package’s path

Returns

package path string.

Return type

str

torchbox.utils.file.readcsv(filepath, sep=None, vfn=None, nlines=None)

Read a csv file and extract numbers in it.

Parameters
  • filepath (str) – The path string of the file.

  • sep (str, optional) – The separation character. Such as ',' or ' '. If None (default) or '' (empty) return a list of all the lines.

  • vfn (function or None, optional) – The function for formating the numbers. float –> convert to float number; int –> convert to integer number…, The default is None, which means won’t converted, string format.

  • nlines (None, optional) – The number of lines for reading, the default is None, which means all the lines.

Returns

The list of numbers or strings.

Return type

list

torchbox.utils.file.readnum(filepath, pmain='Train', psub='loss', vfn=<class 'float'>, nshots=None)

Read a file and extract numbers in it.

Parameters
  • filepath (str) – Description

  • pmain (str, optional) – The matching pattern string, such as ‘—>Train’.

  • psub (str, optional) – The sub-matching pattern string, such as ‘loss’.

  • vfn (function, optional) – The function for formating the numbers. float –> convert to float number; int –> convert to integer number…, The default is float.

  • nshots (None, optional) – The number of shots of sub-matching pattern.

Returns

The list of numbers.

Return type

str

torchbox.utils.file.readsec(filepath, pmain='Train', psub='time: ', vfn=<class 'int'>, nshots=None)

Read a file and extract seconds in it.

hh:mm:ss –> hh*3600 + mm*60 + ss

Parameters
  • filepath (str) – The path string of the file.

  • pmain (str, optional) – The matching pattern string, such as ‘—>Train’.

  • psub (str, optional) – The sub-matching pattern string, such as ‘loss’.

  • vfn (function or None, optional) – The function for formating the numbers. float –> convert to float number; int –> convert to integer number.

  • nshots (None, optional) – The number of shots of sub-matching pattern.

Returns

The list of seconds.

Return type

list

torchbox.utils.file.readtxt(filepath, mode=None)

Read a text file.

Parameters
  • filepath (str) – The path string of the file.

  • mode (str or None, optional) – 'line' –> reading line-by-line. 'all' –> reading all content.

Returns

File content.

Return type

str

torchbox.utils.image module

torchbox.utils.image.histeq(img, nbins=256)
torchbox.utils.image.imadjust(img, lhin, lhout)
torchbox.utils.image.imadjustlog(img, lhin=None, lhout=None)
torchbox.utils.image.imread(imgfile)
torchbox.utils.image.imresize(img, oshape=None, odtype=None, order=1, mode='constant', cval=0, clip=True, preserve_range=False)

resize image to oshape

see also skimage.transform.resize().

Parameters
  • img (Tensor) – Input image.

  • oshape (tuple, optional) – output shape (the default is None, which is the same as the input)

  • odtype (str, optional) – output data type, 'uint8', 'uint16', 'int8', ... (the default is None, float)

  • order (int, optional) – The order of the spline interpolation, default is 1. The order has to be in the range 0-5. See skimage.transform.warp for detail.

  • mode (str, optional) – Points outside the boundaries of the input are filled according to the given mode. {'constant', 'edge', 'symmetric', 'reflect', 'wrap'}, Modes match the behaviour of numpy.pad. The default mode is ‘constant’.

  • cval (float, optional) – Used in conjunction with mode ‘constant’, the value outside the image boundaries.

  • clip (bool, optional) – Whether to clip the output to the range of values of the input image. This is enabled by default, since higher order interpolation may produce values outside the given input range.

  • preserve_range (bool, optional) – Whether to keep the original range of values. Otherwise, the input image is converted according to the conventions of img_as_float.

Returns

resized – Resized version of the input.

Return type

Tensor

Notes

Modes ‘reflect’ and ‘symmetric’ are similar, but differ in whether the edge pixels are duplicated during the reflection. As an example, if an array has values [0, 1, 2] and was padded to the right by four values using symmetric, the result would be [0, 1, 2, 2, 1, 0, 0], while for reflect it would be [0, 1, 2, 1, 0, 1, 2].

Examples

>>> from skimage import data
>>> from skimage.transform import resize
>>> image = data.camera()
>>> resize(image, (100, 100), mode='reflect').shape
(100, 100)
torchbox.utils.image.imsave(outfile, img, **kwargs)

torchbox.utils.ios module

torchbox.utils.ios.loadbin(file, dbsize=4, dtype='i', endian='little', offsets=0, nshots=None)

load binary file

load data from binary file

Parameters
  • file (str) – the binary file path

  • dbsize (int, optional) – number pf bits of each number, by default 4

  • dtype (str, optional) – the type of data. - 'c':char, 'b':schar, 'B':uchar, 's':char[], 'p':char[], 'P':void* - 'h':short, 'H':ushort, 'i':int, 'I':uint, 'l':long, 'L':ulong, 'q':longlong, 'Q':ulonglong - 'f':float, 'd':double, by default 'i'

  • endian (str, optional) – byte order 'little' / 'l', 'big' / 'b', by default ‘little’

  • offsets (int, optional) – start reading offsets index, by default 0

  • nshots (int, optional) – the number of data points to be read.

Returns

loaded data.

Return type

list

Examples

import torchbox as pb

datafile = 'data/data.bin'

x = [1, 3, 6, 111]
pb.savebin('./data.bin', x, dtype='i', endian='L', mode='o')

y = pb.loadbin('./data.bin', dbsize=4, dtype='i', endian='L')

print(y)

x = (1.3, 3.6)
pb.savebin('./data.bin', x, dtype='f', endian='B', offsets=16, mode='a')

y = pb.loadbin('./data.bin', dbsize=4, dtype='f', endian='B', offsets=16)

print(y)
torchbox.utils.ios.loadh5(filename, keys=None)

load h5 file

load data from a h5 file. (None will be replaced by None)

Parameters
  • filename (str) – File’s full path string.

  • keys (list) – list of keys.

Returns

D – The loaded data in dict type.

Return type

dict

torchbox.utils.ios.loadjson(filepath, field=None)

load a json file

Parameters
  • filepath (str) – The file path string.

  • field (None, optional) – The string of field that want to be loaded.

torchbox.utils.ios.loadmat(filepath)

load data from an .mat file

load data from an .mat file (None will be replaced by None)

see https://stackoverflow.com/questions/7008608/scipy-io-loadmat-nested-structures-i-e-dictionaries

Parameters

filepath (str) – The file path string.

torchbox.utils.ios.loadyaml(filepath, field=None)

Load a yaml file.

Parameters
  • filepath (str) – The file path string.

  • field (None, optional) – The string of field that want to be loaded.

torchbox.utils.ios.mvkeyh5(filepath, ksf, kst, sep='.')

rename keys in .h5 file

Parameters
  • filepath (str) – The file path string

  • ksf (list) – keys from list, e.g. [‘a.x’, ‘b.y’]

  • kst (list) – keys to list, e.g. [‘a.1’, ‘b.2’]

  • sep (str, optional) – The separate pattern, default is '.'

Returns

All is ok!

Return type

0

torchbox.utils.ios.savebin(file, x, dtype='i', endian='little', offsets=0, mode='o')

load binary file

load data from binary file

Parameters
  • file (str) – the binary file path

  • x (any) – data to be written (iterable)

  • dtype (str, optional) – the type of data. - 'c':char, 'b':schar, 'B':uchar, 's':char[], 'p':char[], 'P':void* - 'h':short, 'H':ushort, 'i':int, 'I':uint, 'l':long, 'L':ulong, 'q':longlong, 'Q':ulonglong - 'f':float, 'd':double, by default 'i'

  • endian (str, optional) – byte order 'little' / 'l', 'big' / 'b', by default ‘little’

  • offsets (int, optional) – start reading offsets index, by default 0

  • mode (int, optional) –

    • 'append' / 'a' –> append data to the end of the file

    • 'overwrite' / 'o' –> overwrite the file. (default)

Examples

import torchbox as pb

datafile = 'data/data.bin'

x = [1, 3, 6, 111]
pb.savebin('./data.bin', x, dtype='i', endian='L', mode='o')

y = pb.loadbin('./data.bin', dbsize=4, dtype='i', endian='L')

print(y)

x = (1.3, 3.6)
pb.savebin('./data.bin', x, dtype='f', endian='B', offsets=16, mode='a')

y = pb.loadbin('./data.bin', dbsize=4, dtype='f', endian='B', offsets=16)

print(y)
torchbox.utils.ios.saveh5(filename, mdict, mode='w')

save data to h5 file

save data to h5 file (None will be replaced by None)

Parameters
  • filename (str) – filename string

  • mdict (dict) – each dict is store in group, the elements in dict are store in dataset

  • mode (str) – save mode, 'w' for write, 'a' for add.

Returns

0 –> all is well.

Return type

number

torchbox.utils.ios.savemat(filepath, mdict, fmt='5', long_field_names=True, do_compression=True, oned_as='row')

save data to an .mat file

save data to .mat file (None will be replaced by None)

Parameters
  • filepath (str) – savefile path

  • mdict (dict) – data in dict formation.

  • fmt (str, optional) – mat formation, by default ‘5’

  • long_field_names (bool, optional) – False (the default) - maximum field name length in a structure is 31 characters which is the documented maximum length. True - maximum field name length in a structure is 63 characters which works for MATLAB 7.6+.

  • do_compression (bool, optional) – Whether or not to compress matrices on write. Default is False.

  • oned_as ({'row', 'column'}, optional) – If ‘column’, write 1-D NumPy arrays as column vectors. If ‘row’, write 1-D NumPy arrays as row vectors.

Returns

all is ok!

Return type

0

torchbox.utils.ios.saveyaml(filepath, ddict=None, indent='-', mode='w')

Load a yaml file.

Parameters
  • filepath (str) – The file path string.

  • ddict (dict) – The data to be written is in dict format, {‘field1’: value1, …}

  • indent (str) – The indent, (the default is '  ')

  • mode (str) – save mode, 'w' for overwrite, 'a' for add.

Returns

all is ok!

Return type

0

torchbox.utils.plot_show module

class torchbox.utils.plot_show.Plots(plotdir='./', xlabel='x', ylabel='y', title='', figname=None, issave=False, isshow=True)

Bases: object

torchbox.utils.plot_show.cplot(ca, lmod=None)
torchbox.utils.plot_show.imshow(Xs, nrows=None, ncols=None, xlabels=None, ylabels=None, titles=None, figsize=None, outfile=None, **kwargs)

show images

This function create an figure and show images in \(a\) rows and \(b\) columns.

Parameters
  • Xs (array, list or tuple) – list/tuple of image arrays, if the type is not list or tuple, wrap it.

  • nrows (int, optional) – show in nrows rows, by default None (auto computed).

  • ncols (int, optional) – show in ncols columns, by default None (auto computed).

  • xlabels (str, optional) – labels of x-axis

  • ylabels (str, optional) – labels of y-axis

  • titles (str, optional) – titles

  • figsize (tuple, optional) – figure size, by default None

  • outfile (str, optional) – save image to file, by default None (do not save).

  • kwargs

    figfigure handle

    sunch as fig = plt.figure()

    see also matplotlib.pyplot.imshow()

:param see also plot(): :param mesh(): :param mshow().:

Returns

plot handle

Return type

plt

Examples

x = np.random.rand(3, 100, 100)
plt = imshow([xi for xi in x])
plt.show()

# ---animation
x = np.random.rand(10, 128, 128)
y = np.random.rand(10, 128, 128)
fig = plt.figure()
for n in range(10):
    fig.clf()
    plt = imshow([x[n], y[n]], 1, 2, fig=fig)
    plt.pause(0.5)
torchbox.utils.plot_show.mesh(Zs, nrows=None, ncols=None, xlabels=None, ylabels=None, zlabels=None, titles=None, figsize=None, outfile=None, **kwargs)

This function create an figure and show some 2d-arrays in \(a\) rows and \(b\) columns with 3d projection.

Parameters
  • Zs (array, list or tuple) – list/tuple of image arrays, if the type is not list or tuple, wrap it.

  • nrows (int, optional) – show in nrows rows, by default None (auto computed).

  • ncols (int, optional) – show in ncols columns, by default None (auto computed).

  • xlabels (str, optional) – labels of x-axis

  • ylabels (str, optional) – labels of y-axis

  • zlabels (str, optional) – labels of z-axis

  • titles (str, optional) – titles

  • figsize (tuple, optional) – figure size, by default None

  • outfile (str, optional) – save image to file, by default None (do not save).

  • kwargs

    Xslist or tuple

    X-axis values

    Yslist or tuple

    Y-axis values

    figfigure handle

    sunch as fig = plt.figure()

    for other kwargs, see also matplotlib.pyplot.plot_surface()

:param see also imshow(): :param plot(): :param mshow().:

Returns

plot handle

Return type

plt

Examples

x, y = np.meshgrid(np.arange(0, 10), np.arange(0, 20))
z = np.random.rand(20, 10)

plt = mesh(z, 1, 2)
plt.show()

plt = mesh(z, 1, 2, Xs=[np.arange(30, 40)])
plt.show()

# ---animation
x = np.random.rand(10, 128, 128)
y = np.random.rand(10, 128, 128)
fig = plt.figure()
for n in range(10):
    fig.clf()
    plt = mesh([x[n], y[n]], 1, 2, fig=fig)
    plt.pause(0.5)
torchbox.utils.plot_show.mshow(Zs, nrows=None, ncols=None, xlabels=None, ylabels=None, zlabels=None, titles=None, projections=None, figsize=None, outfile=None, **kwargs)

show tensors

This function create an figure and show some 2d-arrays in \(a\) rows and \(b\) columns with 2d/3d projection.

Parameters
  • Zs (array, list or tuple) – list/tuple of image arrays, if the type is not list or tuple, wrap it.

  • nrows (int, optional) – show in nrows rows, by default None (auto computed).

  • ncols (int, optional) – show in ncols columns, by default None (auto computed).

  • xlabels (str, optional) – labels of x-axis

  • ylabels (str, optional) – labels of y-axis

  • zlabels (str, optional) – labels of z-axis

  • titles (str, optional) – titles

  • figsize (tuple, optional) – figure size, by default None

  • outfile (str, optional) – save image to file, by default None (do not save).

  • kwargs

    Xs : list or tuple Ys : list or tuple fig : figure handle

    sunch as fig = plt.figure()

    for others, see also matplotlib.pyplot.plot_surface()

:param see also imshow(): :param mesh(): :param plot().:

Returns

plot handle

Return type

plt

Examples

x, y = np.meshgrid(np.arange(0, 10), np.arange(0, 20))
z1 = np.random.rand(20, 10)
z2 = np.random.randn(60, 60)

plt = mshow([z1, z2], 1, 2, Xs=[np.arange(30, 40)], projections=['3d', '2d'])
plt.show()

# ---animation
x = np.random.rand(10, 128, 128)
y = np.random.rand(10, 128, 128)
fig = plt.figure()
for n in range(10):
    fig.clf()
    plt = mshow([x[n], y[n]], 1, 2, fig=plt)
    plt.pause(0.5)
torchbox.utils.plot_show.plot(Ys, nrows=None, ncols=None, styles=None, legends=None, grids=False, xlabels=None, ylabels=None, titles=None, figsize=None, outfile=None, **kwargs)

show images

This function create an figure and show images in \(a\) rows and \(b\) columns.

Parameters
  • Ys (array, list or tuple) – list/tuple of image arrays, if the type is not list or tuple, wrap it.

  • nrows (int, optional) – show in nrows rows, by default None (auto computed).

  • ncols (int, optional) – show in ncols columns, by default None (auto computed).

  • styles (str or list, optional) – line style

  • legends (str or list, optional) – legend str list

  • grids (bool, optional) – If True plot grid, default False.

  • xlabels (str, optional) – labels of x-axis

  • ylabels (str, optional) – labels of y-axis

  • titles (str, optional) – titles

  • figsize (tuple, optional) – figure size, by default None

  • outfile (str, optional) – save image to file, by default None (do not save).

  • kwargs

    figfigure handle

    sunch as fig = plt.figure()

    Xslist or tuple

    Y-axis values

    see matplotlib.pyplot.plot()

:param see also imshow(): :param mesh(): :param mshow().:

Returns

plot handle

Return type

plt

Examples

x1 = np.random.rand(2, 100)
x2 = np.random.rand(2, 100)
plt = plot([[xi for xi in x1], [xi for xi in x2]])
plt.show()

x1 = np.random.rand(2, 100)
x2 = np.random.rand(2, 100)
plt = plot([[xi for xi in x1], [xi for xi in x2]], styles=[['-b', '-r'], ['-b', '-r']], legends=[['real', 'imag'], ['real', 'imag']], grids=True)
plt.show()
torchbox.utils.plot_show.plots(x, ydict, plotdir='./', xlabel='x', ylabel='y', title='', issave=False, isshow=True)

Module contents