TEEM(1)

πŸ’– TEEM(1) β€” the pull library, but make it a group chat πŸ’–

okay so first things first: this is section 1 of the User Commands manual, the page is called TEEM, and today's main character is teem-puller. strap in bestie, there's like 60 flags. πŸŽ€


✨ NAME ✨

/usr/bin/teem-puller β€” command-line interface to the "pull" library. that's it. that's the whole vibe. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the shape of the thing, fr fr:

teem-puller [@file ...] [-int <int>] [-enr <spec>] \fR

[-ens <spec>] [-enw <spec>] [-efs <bool>] [-nave <bool>] [-cbst <bool>] \ [-noadd] [-usa <bool>] [-pcet <bool>] [-nobin] [-lti <bool>] \ [-por <bool>] [-npcwza <bool>] [-ubfgl <bool>] [-ratb <bool>] \ [-svec <vec>] [-gssr <rad>] [-v <verbosity>] -vol <vol0 vol1 ...> \ -info <info0 info1 ...> [-k00 <kern00>] [-k11 <kern11>] [-k22 <kern22>] \ [-sscp <path>] [-kssb <kernel>] [-kssr <kernel>] [-nss <# scl smpls>] \ [-np <# points>] [-halton] [-ppv <# pnts/vox>] [-ppvzr <z range>] \ [-jit <jitter>] [-pi <npos>] [-step <step>] [-csm <step>] [-snap <# iters>] [-maxi <# iters>] [-stim <# iters>] [-maxci <# iters>] \ [-irad <scale>] [-srad <scale>] [-bws <bin width>] [-alpha <alpha>] \ [-beta <beta>] [-gamma <gamma>] [-theta <theta>] [-wall <k>] [-eip <k>] \ [-ess <scl>] [-oss <scl>] [-edmin <frac>] [-edpcmin <frac>] \ [-fnnm <frac>] [-pcp <period>] [-iad <# iters>] [-icb <# iters>] \ [-ac3c <ac3c>] [-sit <sit>] [-rng <seed>] [-pbm <mod>] [-eiphl <hl>] \ [-nt <# threads>] [-nprob <prob>] [-pprob <prob>] [-addlog <fname>] \ [-o <nout>] [-eob <base>]

@file ... = response file(s) containing command-line arguments

(and yes, that stray \fR up there is literally in the original β€” a roff escape that escaped. no notes. 🫢)


🌸 DESCRIPTION 🌸

/usr/bin/teem-puller is the command-line interface to the "pull" library, bestie. that's the whole job description and honestly? slay. πŸ”₯

but listen β€” if you publish research using this tool or the "pull" library, you gotta cite this paper. it's giving academic main character energy, so give credit where credit is due:

Gordon L. Kindlmann, Ra{'u}l San Jos{'e} Est{'e}par, Stephen M. Smith, Carl-Fredrik Westin. Sampling and Visualizing Creases with Scale-Space Particles. IEEE Trans. on Visualization and Computer Graphics, 15(6):1415-1424 (2009).

🧚 the flags, one by one (yes, all of them) 🧚

okay bestie, this is the long part. every single option, its argument, and its default. no skips, no shortcuts, we're eating the whole plate πŸ“

  • -int <int> β€” inter-particle energy type (interaction type); default: "justr"
  • -enr <spec> β€” inter-particle energy, radial component (energy specification); default: "cotan"
  • -ens <spec> β€” inter-particle energy, scale component (energy specification); default: "zero"
  • -enw <spec> β€” windowing to create locality with additive scale-space interaction ("-int add") (energy specification); default: "butter:16,0.8"
  • -efs <bool> β€” whether or not strength contributes to particle-image energy (bool); default: "false"
  • -nave <bool> β€” whether or not to nix points at edge of volume, where gage had to invent values for kernel support (bool); default: "false"
  • -cbst <bool> β€” during initialization, try constraint satisfaction before testing seedThresh (bool); default: "false"
  • -noadd β€” turn off adding during population control
  • -usa <bool> β€” allow volumes to have different shapes (false is safe as different volume sizes are often accidental) (bool); default: "false"
  • -pcet <bool> β€” use neighbor-counting "enough" heuristic to bail out of pop cntl (bool); default: "true"
  • -nobin β€” turn off spatial binning (which prevents multi-threading from being useful), for debugging or speed-up measurement
  • -lti <bool> β€” impose liveThresh on initialization (bool); default: "true"
  • -por <bool> β€” permute points during rebinning (bool); default: "true"
  • -npcwza <bool> β€” no pop cntl with zero alpha (bool); default: "false"
  • -ubfgl <bool> β€” use beta for gamma learning (bool); default: "false"
  • -ratb <bool> β€” be choosy when adding points to bins to avoid overlap (bool); default: "true"
  • -svec <vec> β€” if non-zero (length), vector to use for displaying scale in 3-space (3 doubles); default: "0 0 0"
  • -gssr <rad> β€” if non-zero (length), scaling of scale to cylindrical tensors (double); default: "0.0"
  • -v <verbosity> β€” verbosity level (int); default: "1"
  • -vol <vol0 vol1 ...> β€” input volumes, in format <filename>:<kind>:<volname> (1 or more meetPullVols)
  • -info <info0 info1 ...> β€” info definitions, in format <info>[-c]:<volname>:<item>[:<zero>:<scale>] (1 or more meetPullInfos)
  • -k00 <kern00> β€” kernel for gageKernel00 (kernel specification); default: "cubic:1,0"
  • -k11 <kern11> β€” kernel for gageKernel11 (kernel specification); default: "cubicd:1,0"
  • -k22 <kern22> β€” kernel for gageKernel22 (kernel specification); default: "cubicdd:1,0"
  • -sscp <path> β€” path (without trailing /) for where to read/write pre-blurred volumes for scale-space (string); default: "./"
  • -kssb <kernel> β€” blurring kernel, to sample scale space (kernel specification); default: "ds:1,5"
  • -kssr <kernel> β€” kernel for reconstructing from scale space samples (kernel specification); default: "hermite"
  • -nss <# scl smpls> β€” if using "-ppv", number of samples along scale axis for each spatial position (unsigned int); default: "1"
  • -np <# points> β€” number of points to start in system (unsigned int); default: "1000"
  • -halton β€” use Halton sequence initialization instead of uniform random
  • -ppv <# pnts/vox> β€” number of points per voxel to start in simulation (need to have a seed thresh vol, overrides "-np") (unsigned int); default: "0"
  • -ppvzr <z range> β€” range of Z slices (1st num < 2nd num) to do ppv in, or, "1 0" for whole volume (2 unsigned ints); default: "1 0"
  • -jit <jitter> β€” amount of jittering to do with ppv (double); default: "0"
  • -pi <npos> β€” 4-by-N array of positions to start at (overrides "-np") (nrrd); default: ""
  • -step <step> β€” initial step size for gradient descent (double); default: "1"
  • -csm <step> β€” convergence criterion for constraint satisfaction (double); default: "0.0001"
  • -snap <# iters> β€” if non-zero, # iters between saved snapshots (unsigned int); default: "0"
  • -maxi <# iters> β€” if non-zero, max # iterations to run whole system (unsigned int); default: "0"
  • -stim <# iters> β€” if non-zero, max # iterations to allow a particle to be stuck before nixing (unsigned int); default: "5"
  • -maxci <# iters> β€” if non-zero, max # iterations for contraint enforcement (unsigned int); default: "15"
  • -irad <scale> β€” particle radius in spatial domain (double); default: "1"
  • -srad <scale> β€” particle radius in scale domain (double); default: "1"
  • -bws <bin width> β€” spatial bin width as multiple of spatial radius (double); default: "1.001"
  • -alpha <alpha> β€” blend between particle-image (alpha=0) and inter-particle (alpha=1) energies (double); default: "0.5"
  • -beta <beta> β€” when using Phi2 energy, blend between pure space repulsion (beta=0) and scale attraction (beta=1) (double); default: "1.0"
  • -gamma <gamma> β€” scaling factor on energy from strength (double); default: "1.0"
  • -theta <theta> β€” slope of increasing livethresh wrt scale (double); default: "0.0"
  • -wall <k> β€” spring constant on walls (double); default: "0.0"
  • -eip <k> β€” amount by which its okay for per-particle energy to increase during gradient descent process (double); default: "0.0"
  • -ess <scl> β€” when energy goes up instead of down, scale step size by this (double); default: "0.5"
  • -oss <scl> β€” opportunistic scaling (hopefully up, >1) of step size on every iteration (double); default: "1.0"
  • -edmin <frac> β€” convergence threshold: stop when fractional improvement (decrease) in energy dips below this (double); default: "0.0001"
  • -edpcmin <frac> β€” population control is triggered when energy improvement goes below this threshold (double); default: "0.01"
  • -fnnm <frac> β€” don't nix if this fraction (or more) of neighbors have been nixed (double); default: "0.25"
  • -pcp <period> β€” # iters to wait between attempts at population control (unsigned int); default: "20"
  • -iad <# iters> β€” # iters to run descent on tentative new points during PC (unsigned int); default: "10"
  • -icb <# iters> β€” periodicity of calling rendering callback (unsigned int); default: "1"
  • -ac3c <ac3c> β€” allow codimensions 3 constraints (bool); default: "false"
  • -sit <sit> β€” scale is tau (bool); default: "false"
  • -rng <seed> β€” base seed value for RNGs (unsigned int); default: "42"
  • -pbm <mod> β€” progress bin mod (unsigned int); default: "50"
  • -eiphl <hl> β€” half-life of energyIncreasePermute ("-eip") (unsigned int); default: "0"
  • -nt <# threads> β€” number of threads hoover should use (int); default: "1"
  • -nprob <prob> β€” do full neighbor discovery with this probability (double); default: "1.0"
  • -pprob <prob> β€” probe local image values with this probability (double); default: "1.0"
  • -addlog <fname> β€” name of file in which to log all particle additions (string); default: ""
  • -o <nout> β€” output volume (string); default: "-"
  • -eob <base> β€” save extra info (besides position), and use this string as the base of the filenames. Not using this means the extra info is not saved. (string); default: ""
heads up bestie: that -eob one is a little all-or-nothing β€” if you don't pass it, the extra info just doesn't get saved. no take-backs. 😭

πŸ‘‘ SEE ALSO πŸ‘‘

the full documentation for Teem lives as a Texinfo manual, and if the info program and the Teem programs are properly installed at your site, this:

info Teem

should hand you the complete manual. go get it, queen. πŸ’œ


and that's the whole page, bestie β€” teem version 1.11.0, from April 2012, section 1 of the manual, signed sealed and slayed. mwah. πŸ’…βœ¨

πŸ“¦ where this page comes from