Utilities

Conversions

topaz.utils.conversions.boxes_to_coordinates(boxes, shape=None, invert_y=False, image_name=None)
topaz.utils.conversions.coordinates_to_boxes(coords, box_width, box_height, shape=None, invert_y=False, tag='manual')
topaz.utils.conversions.coordinates_to_eman2_json(coords, shape=None, invert_y=False, tag='manual')
topaz.utils.conversions.coordinates_to_star(table, image_ext='')
topaz.utils.conversions.mirror_y_axis(coords, n)

File Utilities

topaz.utils.conversions.boxes_to_coordinates(boxes, shape=None, invert_y=False, image_name=None)
topaz.utils.conversions.coordinates_to_boxes(coords, box_width, box_height, shape=None, invert_y=False, tag='manual')
topaz.utils.conversions.coordinates_to_eman2_json(coords, shape=None, invert_y=False, tag='manual')
topaz.utils.conversions.coordinates_to_star(table, image_ext='')
topaz.utils.conversions.mirror_y_axis(coords, n)
class topaz.mrc.MRCHeader(nx, ny, nz, mode, nxstart, nystart, nzstart, mx, my, mz, xlen, ylen, zlen, alpha, beta, gamma, mapc, mapr, maps, amin, amax, amean, ispg, next, creatid, nint, nreal, imodStamp, imodFlags, idtype, lens, nd1, nd2, vd1, vd2, tilt_ox, tilt_oy, tilt_oz, tilt_cx, tilt_cy, tilt_cz, xorg, yorg, zorg, cmap, stamp, rms, nlabl, labels)
alpha

Alias for field number 13

amax

Alias for field number 20

amean

Alias for field number 21

amin

Alias for field number 19

beta

Alias for field number 14

cmap

Alias for field number 44

creatid

Alias for field number 24

gamma

Alias for field number 15

idtype

Alias for field number 29

imodFlags

Alias for field number 28

imodStamp

Alias for field number 27

ispg

Alias for field number 22

labels

Alias for field number 48

lens

Alias for field number 30

mapc

Alias for field number 16

mapr

Alias for field number 17

maps

Alias for field number 18

mode

Alias for field number 3

mx

Alias for field number 7

my

Alias for field number 8

mz

Alias for field number 9

nd1

Alias for field number 31

nd2

Alias for field number 32

next

Alias for field number 23

nint

Alias for field number 25

nlabl

Alias for field number 47

nreal

Alias for field number 26

nx

Alias for field number 0

nxstart

Alias for field number 4

ny

Alias for field number 1

nystart

Alias for field number 5

nz

Alias for field number 2

nzstart

Alias for field number 6

rms

Alias for field number 46

stamp

Alias for field number 45

tilt_cx

Alias for field number 38

tilt_cy

Alias for field number 39

tilt_cz

Alias for field number 40

tilt_ox

Alias for field number 35

tilt_oy

Alias for field number 36

tilt_oz

Alias for field number 37

vd1

Alias for field number 33

vd2

Alias for field number 34

xlen

Alias for field number 10

xorg

Alias for field number 41

ylen

Alias for field number 11

yorg

Alias for field number 42

zlen

Alias for field number 12

zorg

Alias for field number 43

topaz.mrc.get_mode(dtype)
topaz.mrc.make_header(shape, cella, cellb, mz=1, dtype=<class 'numpy.float32'>, order=(1, 2, 3), dmin=0, dmax=-1, dmean=-2, rms=-1, exthd_size=0, ispg=0)
topaz.mrc.parse(content)
topaz.mrc.write(f, array, header=None, extended_header=b'', ax=1, ay=1, az=1, alpha=0, beta=0, gamma=0)

Image Manipulations

topaz.utils.image.downsample(x, factor=1, shape=None)

Downsample 2d array using fourier transform

topaz.utils.image.quantize(x, mi=-3, ma=3, dtype=<class 'numpy.uint8'>)
topaz.utils.image.save_image(x, path, mi=- 3, ma=3, f=None, verbose=False)
topaz.utils.image.save_jpeg(x, path, mi=- 3, ma=3)
topaz.utils.image.save_mrc(x, path)
topaz.utils.image.save_png(x, path, mi=- 3, ma=3)
topaz.utils.image.save_tiff(x, path)
topaz.utils.image.unquantize(x, mi=-3, ma=3, dtype=<class 'numpy.float32'>)

convert quantized image array back to approximate unquantized values

Pick Masking

topaz.utils.picks.as_mask(shape, x_coord, y_coord, radii)

Printing

topaz.utils.printing.report(*args)

STAR File Manipulations

topaz.utils.star.parse(f)
topaz.utils.star.parse_star(f)
topaz.utils.star.parse_star_body(lines)
topaz.utils.star.parse_star_loop(lines)
topaz.utils.star.write(table, f)

Data Utilities

Coordinate Manipulations

topaz.utils.data.coordinates.coordinates_table_to_dict(coords)
topaz.utils.data.coordinates.match_coordinates_to_images(coords, images, radius=- 1)

If radius >= 0, then convert the coordinates to an image mask

Image Loading

class topaz.utils.data.loader.ImageDirectoryLoader(rootdir, pathspec='{source}/{image_name}', format='tiff', standardize=False)
get(*args, **kwargs)
class topaz.utils.data.loader.ImageTree(images)
get(source, name)
class topaz.utils.data.loader.LabeledImageCropDataset(images, labels, crop)
class topaz.utils.data.loader.LabeledRegionsDataset(images, labels, crop)
class topaz.utils.data.loader.SegmentedImageDataset(images, labels, to_tensor=False)
topaz.utils.data.loader.load_image(path, standardize=False)
topaz.utils.data.loader.load_images_from_directory(names, rootdir, sources=None, standardize=False)
topaz.utils.data.loader.load_images_from_list(names, paths, sources=None, standardize=False)
topaz.utils.data.loader.load_jpeg(path, standardize=False)
topaz.utils.data.loader.load_mrc(path, standardize=False)
topaz.utils.data.loader.load_pil(path, standardize=False)
topaz.utils.data.loader.load_png(path, standardize=False)
topaz.utils.data.loader.load_tiff(path, standardize=False)

Dataset Partitioning

topaz.utils.data.partition.kfold(k, labels, nbins=5, random=<module 'numpy.random' from '/home/docs/checkouts/readthedocs.org/user_builds/topaz-em/envs/latest/lib/python3.9/site-packages/numpy/random/__init__.py'>)

Split the labels in k train/test partitions by image. Labels should contain columns of source, image_name, and count, where count is the number of objects in the image.

topaz.utils.data.partition.stratify(labels, nbins=5)

Dataset Sampling

class topaz.utils.data.sampler.RandomImageTransforms(data, rotate=True, flip=True, crop=None, resample=2, to_tensor=False)
class topaz.utils.data.sampler.ShuffledSampler(x, random=<module 'numpy.random' from '/home/docs/checkouts/readthedocs.org/user_builds/topaz-em/envs/latest/lib/python3.9/site-packages/numpy/random/__init__.py'>)
next()
class topaz.utils.data.sampler.StratifiedCoordinateSampler(labels, balance=0.5, size=None, random=<module 'numpy.random' from '/home/docs/checkouts/readthedocs.org/user_builds/topaz-em/envs/latest/lib/python3.9/site-packages/numpy/random/__init__.py'>, split='pn')
next()
topaz.utils.data.sampler.enumerate_pn_coordinates(Y)

Given a list of 2d arrays containing labels, enumerate the positive and negative coordinates as (image,coordinate) pairs.

topaz.utils.data.sampler.enumerate_pu_coordinates(Y)

Given a list of 2d arrays containing labels, enumerate the positive and unlabeled(all) coordinates as (image,coordinate) pairs.