TEND-GLYPH(1)

πŸ“¦ version 1.11.0, in fedora 43, fedora 44

πŸ’– NAME πŸ’–

tend-glyph β€” bestie, this one generates postscript or ray-traced renderings of 3D glyphs ✨ (it lives in section 1 of the User Commands manual, iykyk)


🌸 SYNOPSIS 🌸

tend glyph [@file ...]  [-rt] [-v <level>] [-ctr <conf thresh>] [-a
<aniso>] [-atr <aniso thresh>] [-p <pos array>] [-m <mask vol>] [-mtr
<mask thresh>] [-g <glyph shape>] [-sh <sharpness>] [-gsc <scale>] [-c
<evector #>] [-sat <saturation>] [-ga <aniso>] [-am <aniso mod>] [-gg
<gray>] [-gam <gamma>] [-emap <env map>] [-adsp <phong>] [-bg
<background>] [-ec <edge rgb>] [-slc <axis pos>] [-si <slice image>]
[-off <slice offset>] [-sg <slice gamma>] [-sb <slice bias>] -fr
<from point> [-at <at point>] [-up <up vector>] [-rh] [-dn <near clip>]
[-df <far clip>] [-or] [-ur <uMin uMax>] [-vr <vMin vMax>] [-fv <fov>]
[-gr <glyph res>] [-wd <3 widths>] [-psc <scale>] [-ca <angle>] [-nobg]
[-concave] [-is <nx ny>] [-ns <# samp>] [-nt <# threads>] [-al
<B U V N E>] [-ao] [-shadow <s>] [-hack <hack>] [-i <nin>] [-o <nout>]

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so this generates postscript or ray-traced renderings of 3D glyphs. Whether you get postscript or a ray-traced image is entirely controlled by that initial -rt flag β€” and no cap, if you don't pass it, the output is postscript by default πŸ’…

Because this is doing viz/graphics, many parameters need to be set. Like, a lot. So please use a response file to simplify giving the command-line options which aren't changing between invocations β€” it's giving "save your wrists, queen" energy fr fr 🫢

The postscript output is an EPS file, suitable for including as a figure in LaTeX, or viewing with ghostview, or distilling into PDF ✨

The ray-traced output is a 5 channel (R,G,B,A,T) float nrrd, suitable for:

unu crop -min 0 0 0 -max 2 M M

followed by unu gamma and/or unu quantize -b 8 😌


πŸ‘‘ OPTIONS πŸ‘‘

  • @file ... β€” response file(s) containing command-line arguments πŸ“„
  • -rt β€” generate ray-traced output. By default (not using this option), postscript output is generated.
  • -v <level> β€” verbosity level (int) default: "0"
  • -ctr <conf thresh> β€” Glyphs will be drawn only for tensors with confidence values greater than this threshold (float) default: "0.5"
  • -a <aniso> β€” Which anisotropy metric to use for thresholding the data points to be drawn; default: "fa"
  • -p <pos array> β€” Instead of being on a grid, tensors are at arbitrary locations, as defined by this 3-by-N array of floats. Doing this makes various other options moot; default: ""
  • -m <mask vol> β€” Scalar volume (if any) for masking region in which glyphs are drawn, in conjunction with -mtr flag; default: ""
  • -mtr <mask thresh> β€” Glyphs will be drawn only for tensors with mask value greater than this threshold (float) default: "0.5"
  • -g <glyph shape> β€” shape of glyph to use for display. Possibilities include "box", "sphere", "cylinder", and "superquad"; default: "box"
  • -sh <sharpness> β€” for superquadric glyphs, how much to sharp edges form as a function of differences between eigenvalues. Higher values mean that edges form more easily (float) default: "3.0"
  • -gsc <scale> β€” over-all glyph size in world-space (float) default: "0.01"
  • -c <evector #> β€” which eigenvector should determine coloring. (formally "v") "0", "1", "2", are principal, medium, and minor (int) default: "0"
  • -sat <saturation> β€” maximal saturation to use on glyph colors (use 0.0 to create a black and white image) (float) default: "1.0"
  • -ga <aniso> β€” Which anisotropy metric to use for modulating the saturation of the glyph color; default: "fa"
  • -am <aniso mod> β€” How much to modulate glyph color saturation by anisotropy (as chosen by -ga. If 1.0, then glyphs for zero anisotropy data points will have no hue. (float) default: "0.0"
  • -gg <gray> β€” desaturating glyph color due to low anisotropy tends towards this gray level (float) default: "1.0"
  • -gam <gamma> β€” gamma to use on color components (after saturation) (float) default: "0.7"
  • -emap <env map> β€” environment map to use for shading glyphs. By default, there is no shading; default: ""
  • -adsp <phong> β€” phong ambient, diffuse, specular components, and specular power (4 floats); default: "0 1 0 30"
  • -bg <background> β€” background RGB color; each component in range [0.0,1.0] (3 floats); default: "1 1 1"
  • -ec <edge rgb> β€” edge RGB color; each component in range [0.0,1.0] (3 floats); default: "0 0 0"
  • -slc <axis pos> β€” For showing a gray-scale slice of anisotropy: the axis and position along which to slice. Use "-1 -1" to signify that no slice should be shown (2 ints); default: "-1 -1"
  • -si <slice image> β€” Instead of showing a slice of the anisotropy used to cull glyphs, show something else; default: ""
  • -off <slice offset> β€” Offset from slice position to render slice at (so that it doesn't occlude glyphs). (float) default: "0.0"
  • -sg <slice gamma> β€” Gamma to apply to values on slice. (float) default: "1.7"
  • -sb <slice bias> β€” amount by which to bump up slice gray values prior to gamma. (float) default: "0.05"
  • -fr <from point> β€” position of camera, used to determine view vector (3 doubles)
  • -at <at point> β€” camera look-at point, used to determine view vector (3 doubles)
  • -up <up vector> β€” camera pseudo-up vector, used to determine view coordinates (3 doubles); default: "0 0 1"
  • -rh β€” use a right-handed UVN frame (V points down)
  • -dn <near clip> β€” position of near clipping plane, relative to look-at point (double); default: "-2"
  • -df <far clip> β€” position of far clipping plane, relative to look-at point (double); default: "2"
  • -or β€” use orthogonal projection
  • -ur <uMin uMax> β€” range in U direction of image plane (2 doubles); default: "-1 1"
  • -vr <vMin vMax> β€” range in V direction of image plane (2 doubles); default: "-1 1"
  • -fv <fov> β€” if not NaN, vertical field-of-view, in degrees (double)
  • -gr <glyph res> β€” postscript only

resolution of polygonalization of glyphs (all glyphs other than the default box) (int); default: "10"

  • -wd <3 widths> β€” postscript only

width of edges drawn for three kinds of glyph edges: silohuette, crease, non-crease (3 floats); default: "0.8 0.4 0.0"

  • -psc <scale> β€” postscript only

scaling from screen space units to postscript units (in points) (float); default: "300"

  • -ca <angle> β€” postscript only

minimum crease angle (float); default: "70"

  • -nobg β€” postscript only

don't initially fill with background color

  • -concave β€” use slightly buggy rendering method suitable for concave or self-occluding objects πŸ™ˆ
  • -is <nx ny> β€” ray-traced only

image size (resolution) to render (2 ints); default: "256 256"

  • -ns <# samp> β€” ray-traced only

number of samples per pixel (must be a square number) (int); default: "4"

  • -nt <# threads> β€” ray-traced only

number of threads to be used for rendering (int); default: "1"

  • -al <B U V N E> β€” ray-traced only

brightness (B), view-space location (U V N), and length of edge (E) of a square area light source, for getting soft shadows. Requires lots more samples -ns to converge. Use brightness 0 (the default) to turn this off, and use environment map-based shading (-emap) instead. (5 floats); default: "0 -1 -1 -4 0.7"

  • -ao β€” set up 6 area lights in a box to approximate ambient occlusion
  • -shadow <s> β€” the extent to which shadowing occurs (float); default: "1.0"
  • -hack <hack> β€” don't mind me (string) πŸ’€
  • -i <nin> β€” input diffusion tensor volume; default: "-"
  • -o <nout> β€” output file (string) default: "-"

πŸ”₯ SEE ALSO πŸ”₯


That's the whole vibe, bestie β€” go render some glyphs and serve absolute main character energy πŸ‘‘βœ¨

πŸ’– tend-glyph(1) πŸ’– β€” this page came from April 2021, so like, a vintage icon fr fr. Periodt πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from