VMTKICPREGISTRATION(1)

πŸ“¦ version 1.5.0, in ubuntu stonking

πŸ’– VMTKICPREGISTRATION πŸ’–

okay bestie, welcome to vmtkicpregistration β€” it's a User Command from the vmtk fam, and honestly? she's a baddie. πŸŽ€


✨ NAME ✨

vmtkicpregistration β€” it's a vmtk script, and the script's name is vmtkicpregistration. that's it, that's the name, periodt. πŸ’…


🌸 DESCRIPTION 🌸

so, Automatic piping vmtkicpregistration β€” that's the vibe. and then Parsing options vmtkicpregistration. the script does its lil plumbing thing and then it reads all ur options, slay. ✨

here's the actual tea tho: vmtkicpregistration registers a surface to a reference surface using the ICP algorithm. that's the whole main character moment. 🫢

the ICP algorithm, if you were wondering, is doing the heavy lifting here. she's iconic, she's employed, she's aligning ur surfaces. no cap.

πŸ’– Input arguments πŸ’–

these are the ones u feed in. the inputs. the little snacks for the algorithm. πŸ“

  • -id Id (str,1); default=0 β€” the script id. that's her government name fr.
  • -handle Self (self,1) β€” a handle to self. self-love, honestly, we stan. πŸͺž
  • -disabled Disabled (bool,1); default=0 β€” turn this on and u disable execution and piping. it's giving "do not perceive me." πŸ’€
  • -i Surface (vtkPolyData,1) β€” THE input surface. the one we're registering. the star of the show. πŸ‘‘
  • -ifile SurfaceInputFileName (str,1) β€” filename for the default Surface reader. so instead of handing over a surface object, u just point at a file and let the reader do its thing. ✨
  • -r ReferenceSurface (vtkPolyData,1) β€” the reference surface. the target. the one we're matching up against. 🌈
  • -rfile ReferenceSurfaceInputFileName (str,1) β€” filename for the default ReferenceSurface reader. same deal, but for the reference. πŸ’œ
  • -distancearray DistanceArrayName (str,1) β€” the name of the array where the distance of the input surface to the reference surface has to be stored. πŸ“
  • -signeddistancearray SignedDistanceArrayName (str,1) β€” the name of the array where the signed distance of the input surface to the reference surface is stored. and here's the spicy detail: the distance is positive if the distance vector and the normal to the reference surface have a negative dot product, i.e. if the input surface is outer with respect to the reference surface. math girlies rise. 🧚
  • -farthreshold FarThreshold (float,1); default=0.0 β€” threshold distance beyond which points are discarded during optimization. bye bye far-away points, u are not invited to the function. πŸ™ˆ
  • -flipnormals FlipNormals (bool,1); default=0 β€” flip normals to the reference surface after computing them. a little glow-up for ur normals. ✨
  • -landmarks MaximumNumberOfLandmarks (int,1); default=1000 β€” maximum number of landmarks sampled from the two surfaces for evaluation of the registration metric. a thousand lil guys, all working together, we love a team effort. 🫢
  • -iterations MaximumNumberOfIterations (int,1); default=100 β€” maximum number of iterations for the optimization problems. she's persistent, she's committed, she will not give up on u. πŸ”₯
  • -maxmeandistance MaximumMeanDistance (float,1); default=0.01 β€” the convergence threshold based on the maximum mean distance between the two surfaces. once she's this close, she's done, she's satisfied, she's at peace. 😌
  • -ofile SurfaceOutputFileName (str,1) β€” filename for the default Surface writer. where the result goes to live its best life. πŸŽ€

πŸ¦‹ Output arguments πŸ¦‹

and these are the ones she hands back to u. the gifts. the lil presents. πŸ’

  • -id Id (str,1); default=0 β€” the script id. yes she's here too, she's in both lists, she contains multitudes. πŸ’…
  • -handle Self (self,1) β€” handle to self. hello again, bestie. πŸ’œ
  • -o Surface (vtkPolyData,1) β€” the output surface. THE result. ur registered surface, glowing, radiant, aligned. πŸ‘‘
  • -omatrixcoefficients MatrixCoefficients (float,16); default=None β€” the output transform matrix coefficients. sixteen of them. a whole squad. πŸ”’
  • -omatrix4x4 Matrix4x4 (vtkMatrix4x4,1) β€” the output transform matrix, but make it 4x4, but make it a vtkMatrix4x4. iconic. 🌟

ok lowkey important vibe check: -i / -r take actual vtkPolyData objects, while -ifile / -rfile take filenames and route through the default readers. and -o gives u the surface, while -ofile writes it out. pick ur fighter, bestie. 🫢
also: -farthreshold defaults to 0.0, which means points beyond that distance get discarded in optimization β€” so if u set it, know what ur doing, fr fr. 😭

πŸ‘‘ SEE ALSO πŸ‘‘

there is no SEE ALSO section in this page... but like, go read the rest of the vmtk scripts bestie, they're all somewhere in the manual. iykyk. 🌈


and that's the whole page!! πŸ’– this is vmtkicpregistration version 1.5, dated April 2026 β€” so go register some surfaces, stay aligned, and remember: outer means positive. periodt. πŸ’…βœ¨πŸŽ€πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from