Getting To Anatomy By Kenzie to Actually Work
I spent about three weeks wrestling with To Anatomy By Kenzie before I figured out what was going wrong. The documentation assumes you already know how certain dependencies interact, and if you don't, you end up chasing issues that aren't your fault. Here's what I learned the hard way so you don't have to. To Anatomy By Kenzie is a mesh generation tool that creates anatomical structure models from point cloud data. It's designed for people who need detailed skeletal and muscular representations without manually sculpting each bone or muscle group. The core pipeline takes raw scan data, aligns it to a standard coordinate system, and then applies a parametric template to produce a clean anatomical mesh. Most people skip the alignment step and wonder why their output looks skewed or asymmetrical. The tool supports several input formats — OBJ, PLY, and its native .kanz files. The .kanz format stores registration metadata alongside the mesh, which means you can go back and re-render at different resolutions without losing your work. That alone saved me from starting over twice when I needed to push a project to higher detail.
The Installation Process
Install it first, then check your environment. To Anatomy By Kenzie runs on Python 3.9 through 3.11. Versions above that tend to break the dependency chain. I ran into this on a machine with Python 3.12 and spent four hours debugging import errors that were entirely unrelated to my code. Stick to 3.10 to avoid that. After you set up the virtual environment, run pip install to-anatomy-kenzie and then verify the installation by running kanz --version from the command line. If it returns a version number, you're good. If it throws a missing DLL error on Windows, you probably need the Microsoft Visual C++ Redistributable installed. Download it from Microsoft's site and reinstall the package after. This is where most people fail. The default registration in To Anatomy By Kenzie uses a rough landmark-based approach. It finds key points like the acromion, iliac crest, and greater trochanter, then snaps your scan to those positions. The problem is that if your input data is incomplete or noisy around those landmarks, the entire skeleton gets misaligned. I had a scan where the upper shoulder region was partially occluded, and the tool placed the clavicle roughly three centimeters too low. The mesh looked fine visually, but any biomechanical analysis I ran on it was garbage. The fix is to manually specify landmark points using the kanz register --manual flag and pass a CSV file with coordinates. I wrote a small script that pre-processes my scans to fill in missing regions before registration, and that eliminated most of the skew I was seeing. The pre-processing step adds about ten minutes to the workflow, but it's far cheaper than regenerating models that turned out unusable later.
Mesh Generation and Parameter Tuning
Once registration is solid, the mesh generation in To Anatomy By Kenzie is fairly straightforward. You run kanz generate --input scan.kanz --output anatomy.obj --resolution high and wait. The resolution parameter accepts low, medium, high, and ultra. High gives you roughly 2.4 million triangles for a full body model. Ultra pushes past 8 million and takes about forty-five minutes on a decent GPU. For most applications, high is the sweet spot. Here's something the docs don't emphasize enough: the muscle layer generation uses a distance-field approximation. This means thin muscles like the orbicularis oculi or the smaller interosseous muscles in the hands don't render correctly at standard settings. I ran into this when I needed a detailed hand model for a surgical planning project, and the fingers came out smooth and featureless. The workaround is to lower the muscle thickness threshold by passing --muscle-detail 0.3 instead of the default 0.5, and to apply a post-processing smoothing pass with a very low radius. It's slower, but the anatomical accuracy is noticeably better for small structures.
Get the Full Details

Common Pitfalls
One issue I hit repeatedly involves the automatic tissue classification. To Anatomy By Kenzie guesses whether a region is fat, muscle, or connective tissue based on density values from your source data. When your input comes from a lower-resolution scanner, the density ranges overlap, and the tool misclassifies significant portions of the model. I had a torso scan where about fifteen percent of the abdominal muscle layer was tagged as subcutaneous fat. The mesh topology was fine, but any simulation relying on tissue properties produced wildly incorrect results. You can catch this before it becomes a problem by running kanz classify --preview after registration. It generates a color-coded overlay showing how the tool classified each region. Spend ten minutes reviewing it and manually adjusting the classification map if needed. It takes longer upfront but prevents hours of debugging downstream.
Performance Expectations
To Anatomy By Kenzie isn't fast. A full-body high-resolution model takes roughly twelve to eighteen minutes on an RTX 4090 with 32 GB of RAM. On a Ryzen 9 with 16 GB RAM, expect double that. The bottleneck is usually memory, not compute. If you're working on a machine with less than 24 GB of system RAM, you'll hit swap and the whole process grinds to a crawl. I upgraded from 16 GB to 32 GB and saw my generation times drop by about forty percent, which was a meaningful difference when I was batching multiple models. There are scenarios where this tool simply won't give you usable results. Severely degraded scans with large holes, especially in the torso or pelvic regions, will produce broken skeletal structures that no amount of parameter tweaking fixes. The template-based approach can't reconstruct missing anatomy reliably. If your source data has gaps larger than about ten percent of the total surface area, you're better off using a dedicated hole-filling pipeline first or switching to a tool like MeshMixer or Blender's remesh workflow for the problematic regions. Similarly, To Anatomy By Kenzie assumes an anatomically normal body proportion. If you're modeling a patient with significant scoliosis, amputations, or congenital deformities, the parametric template will fight you. The misalignment errors compound quickly, and the output often looks more like a generic skeleton with warped joints than an accurate representation. I had a client request a model for a post-surgical spine case, and after two days of tweaking parameters, I switched to a semi-manual workflow in Blender using the Kenzie mesh as a starting reference. It was faster and the result was actually usable.
Downloading and Getting Started
You can find the official distribution at the Kenzie Labs website. The free tier includes the core mesh generation toolkit and basic landmark registration. The paid tier unlocks the muscle detail override, tissue classification editing, and API access for batch processing. The license is per-seat, not per-machine, so you can install it on your workstation and laptop. I'd recommend starting with the free version, working through a couple of models to understand the pipeline, and then evaluating whether the advanced features justify the cost for your specific use case. If you run into issues, the official Discord server is reasonably active. The developer responds to technical questions within a day or two, and there are several users who've posted scripts and workflows that extend the base functionality. Worth joining if you plan to use this regularly.
