MRENDER(1)
π mrender β like, the whole manual, but make it make sense
okay bestie, so this is mrender(1) from the User Commands section of the manual, and it's genuinely one of those pages that looks scary until somebody explains it to you. That somebody is me. Sit down, hydrate, let's go. π«Ά
β¨ NAME β¨
mrender β a demonstration of hoover, gage, and nrrd measures. yes that's the whole name section. it's giving "we're humble but we're also running the entire ray-casting pipeline." π
πΈ SYNOPSIS πΈ
mrender [@file ...] [-i <nin>] -k <kind> -fr <eye pos> [-at <at pos>]
[-up <up dir>] [-rh] [-or] -dn <near> -di <image> -df <far> [-ar] [-ur
<uMin uMax>] [-vr <vMin vMax>] [-fv <field of view>] [-offfr] [-turn
<angle>] [-is <image size>] [-iss <scale>] [-k00 <kernel>] [-k11
<kernel>] [-k22 <kernel>] [-rn] -q <query> -m <measure> [-gmc
<min gradmag>] [-fn <from nan>] [-step [-nt <# threads>] [-vp
<img coords>] [-o <filename>]
okay so like, look at the brackets. no brackets = mandatory, brackets = optional, and there are so many optional ones. the mandatory core is literally just: -k, -fr, -dn, -di, -df, -q, -m. everything else is β¨vibesβ¨.
π DESCRIPTION π
here's the tea π΅: mrender uses hoover to cast rays through a volume β and that volume can be scalar, vector, or tensor, we support all three, we're not picky. Then gage measures one of various quantities along those rays. Then a specified nrrd measure reduces all the values along a ray down to one scalar. That single scalar gets saved into the output, which is a (double) image.
so: rays in, one number per ray out. it's literally the main character of reduction pipelines. periodt. π
π OPTIONS π
@file ...β response file(s) containing command-line arguments. yes you can put your args in a file, we love a low-effort queen.-i <nin>β the inputnrrdto render, typenrrd. default is"". (empty string, so like, nothing. don't leave it empty unless you enjoy confusion π)-k <kind>β the "kind" of volume. your options are"scalar","vector", or"tensor". type isgageKind.-fr <eye pos>β camera eye point, 3 doubles. this is where the camera literally is. required, bestie.-at <at pos>β camera look-at point, 3 doubles. default:"0 0 0". this is where the camera is staring. π-up <up dir>β camera pseudo-up vector, 3 doubles. default:"0 0 1".-rhβ use a right-handed UVN frame (V points down). noted. V points down, don't fight it.-orβ orthogonal (not perspective) projection. so, like, no vanishing point drama.-dn <near>β distance to the near clipping plane (double). required.-di <image>β distance to the image plane (double). required.-df <far>β distance to the far clipping plane (double). required.-arβ near, image, and far plane distances are relative to the at point, instead of the eye point. this one flips the whole reference frame, so pay attention.-ur <uMin uMax>β range in the U direction of the image plane, 2 doubles. default:"nan nan".-vr <vMin vMax>β range in the V direction of the image plane, 2 doubles. default:"nan nan".-fv <field of view>β angle, in degrees, vertically subtended by the view window (double). default:"20".-offfrβ the given eye point (-fr) is to be interpreted as an offset from the at point. so-frstops meaning "where you are" and starts meaning "how far from the thing you're looking at." plot twist.-turn <angle>β angle in degrees by which to rotate the from point around true up, for making stereo pairs. Positive means move towards positive U (the right) (double). default:"0.0".-is <image size>β image dimensions, 2 ints. default:"256 256".-iss <scale>β scaling of image size (from-is) (float). default:"1.0".-k00 <kernel>β value reconstruction kernel (kernel specification). default:"tent".-k11 <kernel>β first derivative kernel (kernel specification). default:"cubicd:1,0".-k22 <kernel>β second derivative kernel (kernel specification). default:"cubicdd:1,0".-rnβ renormalize kernel weights at each new sample location. here's the caveat: "Accurate" kernels don't need this, and doing it always makes things go slower. so like, it works, but at what cost π-q <query>β the quantity (scalar, vector, or matrix) to learn by probing (string).-m <measure>β how to collapse the list of ray samples into one scalar. the possibilities include:"min","max","mean","median","mode","variance","skew": (self-explanatory) β and honestly? they are. slay."intc","slope","error": intercept, slope, and error from line fitting."stdv": standard deviation."cov": coefficient of variation."product","sum": product or sum of all values."L1","L2","NL2","RMS","Linf": different norms."histo-min","histo-max","histo-mean","histo-median","histo-mode","histo-product","histo-l2","histo-sum","histo-variance","histo-sd": same measures, but for situations where we're given not the original values, but a histogram of them. (type:measure)-gmc <min gradmag>β for curvature-based queries, set the answer to zero when gradient magnitude is below this (double). default:"0.0".-fn <from nan>β when histo-based measures generate NaN answers, the value that should be substituted for NaN (double). default:"nan".-step <size>β step size along ray in world space (double). default:"0.01".-nt <# threads>β number of threadshoovershould use (int). default:"1".-vp <img coords>β pixel coordinates for which to turn on verbose debugging messages, or"-1 -1"to disable this, 2 ints. default:"-1 -1".-o <filename>β file to write outputnrrdto (string). default:"-".
ngl those last six are nested under the histo list in the original page, and I'm keeping them exactly where they were, because I do not mess with the facts. β¨ the facts do not get rewritten, only re-vibed.
π¦ SEE ALSO π¦
gprobe(1), ilk(1), miter(1), nrrdSanity(1), overrgb(1), puller(1), tend(1), unu(1), vprobe(1)
go read those too, they're all part of the same friend group. π
and that's the whole page, bestie!! this one's from April 2021, and the source is literally just MRENDER(1) β the page itself, doing its own thing. so yeah: April 2021, MRENDER(1). iconic, timeless, still casting rays. πβ¨π
π¦ where this page comes from
- fedora 43: teem 1.11.0-83.fc43 Β· LGPL-2.1-or-later WITH LicenseRef-Fedora-Temporary-Simple-Library-exception
- fedora 43: teem 1.11.0-86.fc43 Β· LGPL-2.1-or-later WITH Simple-Library-Usage-exception
- fedora 44: teem 1.11.0-87.fc44 Β· LGPL-2.1-or-later WITH Simple-Library-Usage-exception
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms