# Copyright © 2025 UChicago Argonne, LLC All right reserved
# Full license accessible at https://github.com//AdvancedPhotonSource/pty-chi/blob/main/LICENSE
from enum import StrEnum, auto
[docs]
class BatchingModes(StrEnum):
RANDOM = auto()
COMPACT = auto()
UNIFORM = auto()
[docs]
class Optimizers(StrEnum):
SGD = auto()
ADAM = auto()
RMSPROP = auto()
ADAGRAD = auto()
ADADELTA = auto()
LBFGS = auto()
ASGD = auto()
SPARSE_ADAM = auto()
ADAMAX = auto()
RADAM = auto()
ADAMW = auto()
[docs]
class LossFunctions(StrEnum):
MSE = auto()
POISSON = auto()
MSE_SQRT = auto()
[docs]
class Reconstructors(StrEnum):
base = auto()
AD_GENERAL = auto()
AD_PTYCHO = auto()
LSQML = auto()
PIE = auto()
EPIE = auto()
RPIE = auto()
DM = auto()
BH = auto()
[docs]
class PositionCorrectionTypes(StrEnum):
GRADIENT = auto()
CROSS_CORRELATION = auto()
[docs]
class NoiseModels(StrEnum):
GAUSSIAN = auto()
POISSON = auto()
[docs]
class OrthogonalizationMethods(StrEnum):
GS = auto()
SVD = auto()
[docs]
class ForwardModels(StrEnum):
base = auto()
PLANAR_PTYCHOGRAPHY = auto()
[docs]
class Directions(StrEnum):
X = auto()
Y = auto()
XY = auto()
[docs]
class Devices(StrEnum):
CPU = auto()
GPU = auto()
[docs]
class Dtypes(StrEnum):
FLOAT16 = auto()
FLOAT32 = auto()
FLOAT64 = auto()
[docs]
class ImageGradientMethods(StrEnum):
FOURIER_DIFFERENTIATION = auto()
FOURIER_SHIFT = auto()
NEAREST = auto()
GAUSSIAN = auto()
[docs]
class ImageIntegrationMethods(StrEnum):
FOURIER = auto()
DECONVOLUTION = auto()
DISCRETE = auto()
[docs]
class PatchInterpolationMethods(StrEnum):
FOURIER = auto()
BILINEAR = auto()
NEAREST = auto()
[docs]
class OPRWeightSmoothingMethods(StrEnum):
MEDIAN = auto()
POLYNOMIAL = auto()
[docs]
class AffineDegreesOfFreedom(StrEnum):
TRANSLATION = auto()
ROTATION = auto()
SCALE = auto()
SHEAR = auto()
ASYMMETRY = auto()
[docs]
class DIPModels(StrEnum):
UNET = auto()
AUTOENCODER = auto()
[docs]
class ObjectPosOriginCoordsMethods(StrEnum):
POSITIONS = auto()
SUPPORT = auto()
SPECIFIED = auto()
[docs]
class MagPhaseComponents(StrEnum):
MAGNITUDE = auto()
PHASE = auto()
BOTH = auto()
[docs]
class ProbeSupportMethods(StrEnum):
NONE = auto()
ELLIPSE = auto()
RECTANGLE = auto()