ptypy.engines.base.PositionCorrectionEngine#

class ptypy.engines.base.PositionCorrectionEngine(ptycho_parent, pars)#

Bases: BaseEngine

A sub class engine that supports position correction

Defaults:

[position_refinement] default = False type = Param, bool help = If True refine scan positions

[position_refinement.method] default = Annealing type = str help = Annealing or GridSearch

[position_refinement.start] default = None type = int help = Number of iterations until position refinement starts doc = If None, position refinement starts at first iteration

[position_refinement.stop] default = None type = int help = Number of iterations after which positon refinement stops doc = If None, position refinement stops after last iteration

[position_refinement.interval] default = 1 type = int help = Frequency of position refinement

[position_refinement.nshifts] default = 4 type = int help = Number of random shifts calculated in each position refinement step (has to be multiple of 4)

[position_refinement.amplitude] default = 0.000001 type = float help = Distance from original position per random shift [m]

[position_refinement.amplitude_decay] default = True type = bool help = After each interation, multiply amplitude by factor (stop - iteration) / (stop - start)

[position_refinement.max_shift] default = 0.000002 type = float help = Maximum distance from original position [m]

[position_refinement.metric] default = “fourier” type = str help = Error metric, can choose between “fourier” and “photon” choices = [“fourier”, “photon”]

[position_refinement.record] default = False type = bool help = record movement of positions

__init__(ptycho_parent, pars)#

Position Correction engine.

Methods

__init__(ptycho_parent, pars)

Position Correction engine.

engine_finalize()

Synchronize positions

engine_initialize()

Prepare the position refinement object for use further down the line.

engine_iterate(num)

Engine single-step iteration.

engine_prepare()

Engine-specific preparation.

finalize()

Clean up after iterations are done.

initialize()

Prepare for reconstruction.

iterate([num])

Compute one or several iterations.

position_update()

Position refinement update.

prepare()

Last-minute preparation before iterating.

support_constraint([storage])

Enforces 2D support contraint on probe.

Attributes

COMPATIBLE_MODELS

POSREF_ENGINES

engine_finalize()#

Synchronize positions

engine_initialize()#

Prepare the position refinement object for use further down the line.

engine_iterate(num)#

Engine single-step iteration. All book-keeping is done in self.iterate(), so this routine only needs to implement the “core” actions.

engine_prepare()#

Engine-specific preparation. Last-minute initialization providing up-to-date information for reconstruction. Called at the end of self.prepare()

finalize()#

Clean up after iterations are done.

initialize()#

Prepare for reconstruction.

iterate(num=None)#

Compute one or several iterations.

numNone, int number of iterations.

If None or num<1, a single iteration is performed.

position_update()#

Position refinement update.

prepare()#

Last-minute preparation before iterating.

support_constraint(storage=None)#

Enforces 2D support contraint on probe.