# fnVolume: The file names of tomograms
fnVolume = {'../odd/bpv_AvgVol_4P66.mrc', '../even/bpv_AvgVol_4P66.mrc'}
# fnModParticle: The file names of IMOD models corresponding to each tomogram.
fnModParticle = {'center.mod', 'center.mod'}
# initMOTL: A code specifying how to construct the initial motive list:
# 0: Set all rotational values to zero
#
# 1: Use the particle model and reference index to
# initialize theta (rotation around the z axis), be sure
# the points are sorted along a direction of interest
#
# 2: Use the particle model and reference index to initialize
# theta and psi (rotation around the z axis and x axis)
#
# 3: Uniform random rotations.
#
# 4: Random axial rotations.
#
# or a string array to specify the filenames to load, must end in 1.em
initMOTL = 0
# tiltRange: The tilt range used to acquire the tilt series [min max].
# This will compenstate for the missing wedge in generating
# the alignment and the averages. A empty array, [] or {}, specifies
# not to account for the missing wedge (and use more efficient
# space domain averaging).
tiltRange = {'../odd/wedgeWeightBinary_P66.mrc',
'../even/wedgeWeightBinary_P66.mrc'}
# dPhi: Phi is the rotation around the Y-axis specified above by the parameter "yaxis".
# From this Y-axis, the corresponding X-axis and Z-axis are deduced.
dPhi = {-36:9:36, -12:4:12, -6:2:6}
# dTheta: Theta is around the corresponding Z-axis. dTheta is the increment.
dTheta = {-36:9:36, -12:4:12, -6:2:6}
# dPsi: Psi is around the corresponding X-axis. dPsi is the increment.
dPsi = {-36:9:36, -12:4:12, -6:2:6}
# searchRadius: The number of pixels to search in each dimension
# searchRadius={4, 5} is equivalent to searchRadius={[4 4 4],[5 5 5]}
searchRadius = {[4], [3], [2]}
# lowCutoff: The frequency domain cutoff parameters for prefiltering the
# particles and reference lowCutoff =< 0 prevents low frequency
# filtering, hiCutoff >= 0.866 prevents high frequency filtering.
# An optional second parameter defines the transition width.
lowCutoff = {[0, 0.05], [0, 0.05], [0, 0.05]}
# hiCutoff: The frequency domain cutoff parameters for prefiltering the
# particles and reference lowCutoff =< 0 prevents low frequency
# filtering, hiCutoff >= 0.866 prevents high frequency filtering.
# An optional second parameter defines the transition width.
hiCutoff = {[0.3, 0.05], [0.3, 0.05], [0.3, 0.05]}
# refThreshold: The threshold to generate the reference particle at each stage
# If this is less than 1 it specifies a cross correlation
# coefficient threshold, if it is greater than 1 it specfies the
# number of particles to use
refThreshold = {1, 1, 1}
# duplicateShiftTolerance: An arry of integers giving the maximum distance in pixels at
# which particles can be considered duplicates at each iteration. Applied
# separately to each dimension, so the region defined is a cube rather
# than a sphere.
duplicateShiftTolerance = [NaN, NaN, NaN]
duplicateAngularTolerance = [NaN, NaN, NaN]
# reference: If it is a string it should specify the name of an MRC file containing
# the reference volume. If it is [i j]. It specifies the reference to be the
# jth particle of the ith tomogram.
reference = [1, 1]
# fnOutput: The base name of the output files for the average volumes, the
# reference volumes, and the transformation parameters
fnOutput = 'bpv'
# szVol: The size of the volume around each particle to average
# if reference is filename, this parameter is ignored. the reference size dictates "szVol".
szVol = [52, 52, 52]
# CCMode: The cross correlation measure to use.
# 0: Local energy normalized cross correlation (default)
# 1: True local correlation coefficient
CCMode = 1
# alignedBaseName: The basename for the aligned particle MRC files (default: '').
alignedBaseName = 'aligned'
# debugLevel: How much debugging info to print {0|1|2|3}
debugLevel = 3
# lstThresholds: The list of thresholds to use for computing the final volumes.
# An average volume is generated for each value in this vector.
# The format of the average volume file name is
# fnOutout_AvgVol_navg_thresh_iteration.mrc
lstThresholds = [2]
# refFlagAllTom: 1: use particles with best correlation scores among all particles of all tomos;
# 0: prefer equal number of particles from each tomo;
refFlagAllTom = 1
# lstFlagAllTom: 1: use particles with best correlation scores among all particles of all tomos;
# 0: prefer equal number of particles from each tomo;
lstFlagAllTom = 1
# particlePerCPU: Specify how to distribute workload among all CPUs. # of particles per CPU for each
# run.
particlePerCPU = 1
# yaxisType: 0: use the volume's Y axis as the particle's Y axis.
# 1: use the vector between neighboring model points as the Y axis.
# 2: use end points of the contour specified by the "yaxisContour" parameter
# as the Y axis.
yaxisType = 0
# yaxisObjectNum: An integer specifying the index of the model object used for Y axis determination when yaxisType is 2.
yaxisObjectNum = NaN
# yaxisContourNum: An integer specifying the index of the contour in object "yaxisObjecNum" whose endpoints will determine the Y axis for the associated volume when when yaxisType is 2.
yaxisContourNum = NaN
# flgWedgeWeight: Apply missing wedge compensation to the alignment search
flgWedgeWeight = 1
# sampleSphere: If This is set to 'full' or 'half', for the fisrt iteration, dTheta and dPsi will be ignored and
# 'dPhi' and 'sampleInterval' will be used.
# if it does not exist or is set to 'none', it will search over the range specified by dPhi, dTheta, dPsi.
sampleSphere = 'none'
# sampleInterval: The interval in degrees at which the spherical surface is sampled.
sampleInterval = 9
# maskType: If it is set to 'sphere' or 'cylinder', it will use 'insideMaskRadius' and
# 'outsideMaskRadius' to create a mask.
# If it is set to a string other than 'sphere', 'cylinder', or 'none', the
# string is assumed to be a filename of a stack whose voxels of zero value
# specify voxels that will be masked out, whose voxels of nonzero value
# specify voxels that will be included.
# If it does not exist or is set to 'none', there will be no masking.
maskType = 'sphere'
# maskModelPts: It specifies which model and which point of that model will be used to create a
# 'cylinder' mask. The format is [i j].
# It specifies the jth point of the ith model will be used.
# It is used only when reference is specified as a filename and
# maskType='cylinder'.
# When reference is specified as [ii jj], the [ii jj] will be used.
maskModelPts = []
# insideMaskRadius: radius in pixels. Voxels residing inside this radius is masked out;
# for .77 virus tomo;
insideMaskRadius = 10
# outsideMaskRadius: radius in pixels. Voxels residing outside this radius is masked out;
outsideMaskRadius = 22
# flgRemoveDuplicates: If non-zero, search for and mark duplicate particles after
# each alignment iteration. Particles marked as duplicates will be
# excluded from averages and resolution estimates.
flgRemoveDuplicates = 0
# flgAlignAverages: If non-zero, and if "yaxisType" is also non-zero, rotate average
# volumes to have the particle's Y axes approximately vertical.
flgAlignAverages = 0
#fnWedgeWeight = 'ww'
# nWeightGroup: Disable (0) or enable (> 0) equalization of cross-correlations
# between groups based on missing wedge orientation. If enabled, equalization
# will be applied to minimize missing wedge bias during averaging and new
# reference generation. NOTE: as of PEET 1.8.0 this parameter is an on / off
# flag; the number of groups is no longer under direct user control.
nWeightGroup = 8
# flgFairReference: If 1, create a multiparticle reference. Otherwise, choose a single
# particle reference or use the user-specified volume.
flgFairReference = 0
# flgAbsValue: If 1 (default), maximize the absolute value of the cross-correlation
# during alignment, rather than the raw cross-correlation.
# Use of the absolute value reduces the chance of pure noise
# reinforcing to match the reference, but can prevent proper alignment
# of some highly repetitive patterns (e.g. checkerboard or zebra
# stripe patterns) in which in which in- and out-of-phase alignments
# become indistinguishable.
flgAbsValue = 1
# flgStrictSearchLimits: If 0 (default) or missing, radial and
# angular search limits will be applied independently at each iteration.
# If 1, the overall change for any parameter will be limited to the largest
# change specified at any single iteration.
flgStrictSearchLimits = 1
# flgNoReferenceRefinement: If 1, use the initial reference at all iterations. If 0
# (the default), a refined estimate of the reference will be
# generated at each iteration.
flgNoReferenceRefinement = 1
# flgRandomize: If 1 (default = 0), select particles for averaging randomly,
# rather than by cross-correlation.
flgRandomize = 0
# cylinderHeight: The height in voxels of the cylindrical mask. Blank or NaN
# will be treated as infinity, and the cylinder will span the entire volume.
cylinderHeight = NaN
# maskBlurStdDev: Blur the mask by convolution with a Gaussian having this
# standard deviation (in voxels). If omitted or NaN (the default), the
# mask will be binary. After blurring, the mask edge will be spread
# over approximately 2.5 standard deviations on either side of
# the original edge location.
maskBlurStdDev = 1
# flgVolNamesAreTemplates: If 1 (default = 0), file names in the volume table (i.e.
# volume, model, initial motive list, and wedge mask files names) may be
# templates to be expanded rather than individual filenames. For example,
# "vol1-10.mrc", would be expanded by PEET to [vol1.mrc, vol2.mrc,
# ... vol10.mrc]. Any filename ending in 2 numbers separated by a dash
# ('-') and, optionally, follwed by a suffix, will be considered a template.
flgVolNamesAreTemplates = 0