xmipp3.protocols.protocol_particle_pick_consensus module

Consensus picking protocol

class xmipp3.protocols.protocol_particle_pick_consensus.ProtPickingConsensusOutput(value)[source]

Bases: Enum

Possible outputs for particle picking protocols

consensusCoordinates = <class 'pwem.objects.data.SetOfCoordinates'>
class xmipp3.protocols.protocol_particle_pick_consensus.XmippProtConsensusPicking(**args)[source]

Bases: ProtParticlePicking

Protocol to estimate the agreement between different particle picking algorithms. The protocol takes several Sets of Coordinates calculated by different programs and/or different parameter settings. Let’s say: we consider N independent pickings. Then, a coordinate is considered to be a correct particle if M pickers have selected the same particle (within a radius in pixels specified in the form).

If you want to be very strict, then set M=N; that is, a coordinate represents a particle if it has been selected by all particles (this is the default behaviour). Then you may relax this condition by setting M=N-1, N-2, …

If you want to be very flexible, set M=1, in this way it suffices that 1 picker has selected the coordinate to be considered as a particle. Note that in this way, the cleaning of the dataset has to be performed by other means (screen particles, 2D and 3D classification, …).

FN_PREFIX = 'consensusCoords_'
calculateConsensusStep(micId, micName)[source]
classmethod getMicId(fn)[source]
outputName = 'consensusCoordinates'
xmipp3.protocols.protocol_particle_pick_consensus.consensusWorker(coords, consensus, consensusRadius, posFn, jaccFn=None, mode=0)[source]
Worker for calculate the consensus of N picking algorithms of

M_n coordinates each one.

coords: Array of N numpy arrays of M_n coordinates each one. consensus: Minimum number of votes to get a consensus coordinate consensusRadius: Tolerance to see two coordinates as the same (in pixels) posFn: Where to write the consensus coordinates jaccFN: Where to write the Jaccard index per micrograph