Anti Aliasing - Friend or Foe?

Let’s start things off with a short primer on what anti aliasing (AA) is and the function it serves.

#wiki, AA is a technique for minimizing distortion artifacts when representing a high resolution image at a lower resolution.

OK that’s too short a description, maybe instead we just start at the beginning and try real hard to stay on topic. 

There’s a wide verity of technology used in 3D resin printers so lets focus on just one, the most common and widely adopted tech which is the LCD – liquid crystal display. It serves as a digital photomask and modulates the UV light projected through to selectively cure UV sensitized resin pixel by pixel, layer by layer building unique complex 3D structures. Unlike everything else that uses an LCD the resolution doesn’t even matter. instead it’s DPI – dots per square inch, the DPI is our limiting factor in creating perfectly smooth curves with a resin printer. But does that even matter with such advanced AA? Sort off.

(gaussian blur 0.9%           –           nanoDLP AA             –          Slic3r pe AA)

AA comes in many shapes and sizes but they all share a common theme, convert the outer most hard edges of an image to grayscale. I’d hope company x made their choice in algorithms because they ran many tests and found the best but is more likely whatever was quick and easy(cheap) to implement. 

Today we explore the results from two completely free pieces of software purpose built for 3D printing, nanoDLP and Sli3r pe.

Sorry more technical stuff(not sorry). The typical resin printer uses a 2k 5.5″ LCD with a pixel size of just 47um, that’s 0.047mm!, this is incredibly small and not easy to photograph voxel marks that small so for the purpose of this comparison ill be using a printer with a lower DPI of just 136.5um or about 3x larger pixels. This will help to highlight and better show you the benefits and detraction of using AA.

Okay what’s next, ah yes prep models for photographing, first i’ll remove the supports using sharp flush cutters. Next a quick rinse in water to remove any loose debris, place the model in a ziplock bag and fill with a diluted detergent like purple power and seal it up. I use this ultrasonic cleaner to speed things up but if you don’t have one just shake the bag and let it sit 10-20 minutes. In the ultrasonic cleaner put enough water to cover the bottom then place the bagged model inside and turn on for 2 minutes, followed by one more rinse in clean water and leave out to air dry. The last step in post processing is to finish curing the print either with a UV lamp or by placing in the sun.

(Slic3r pe with AA         –         nanodlp with AA           –         No AA)

The differences are subtle but IMO there is a clear winner. Open the images in new tabs and zoom way in, now look for the vertical layer rings, left model has smooth curves and fewer visible rings, middle has a rough edge around the rings. Last we have no AA showing far more visible rings and voxel/pixel marks. I chose an organic shape to best highlight what AA is capable of. The algorithms used are not sophisticated enough to recognize anything besides a perimeter, and will round off sharp edges and can distort long flat surfaces.

(Slic3r pe with AA         –         nanodlp with AA           –         No AA)

The print results clearly and show a direct correlation between the type of AA applied and the surface finish. Pick one and leave a comment below about why you think it looks best.

Special thanks to the fantastic artist (Adrian Magni) who created the Belly Monster 3D model and for making it a creative commons license. Link to the model and make sure to check out his other work – Belly Monster

The resin used in today’s prints is Nova3D Gray – Link

G’mic – used to create gaussian blur and noise filter –

nanoDLP 3D printer OS –

Slic3r pe beta-1- Link

Want more 3D printing content? Join the community and stay in the loop, we have ongoing discussions about how to achieve the best print results and multiple projects covering every type of resin printer tech from SLA on through DLP, MSLA, even some freaken lazers. check out the Discord and Resin Printer Builders Group

Bonus print and script for everyone who made it this far. 

(Processed with G’mic noise filter level 5)

This print is unique in that the sliced image set was extracted and processed with a custom “noise” filter which created a random chaotic noisy grayscale outer edge, and looked like it would fail to print but instead smoothed out the surface 5x better then any AA tested. You can’t get something from nothing and the trade off here is a lose of sharp detail but worth it. shout out to matt3o for sharing the script with me. To try it out for yourself fireup your fav linux distro and install gmic (from source or .deb not repo) and create a new text doc labeled Paste in this script and save:

#!/bin/bash for file in ./*.png do gmic -i $file \”fx_spread\” 0.5,0.5,0,0 -o $file done

Drop this file into any folder of image slices (only images nothing else) and double click, select run in terminal and it’ll be done in a minute or two. To adjust the intensity change the “0.5,0.5,0,0” to anything from 0.1,0.1,0,0 to 0.8,0.8,0,0. If you give it a try share the results would love to see how it works for everyone else.