You are not logged in.

#1 2019-04-06 22:19:10

bootdsc
Member
Registered: 2018-06-05
Posts: 11

Anti Aliasing Alternative Algorithm

This will take some explaining. With the standard AA used in nanodlp the grayscale area is fairly limited in size and results a decently smooth surface which is suitable to most usage cases like if you have a 2k LCD. I have been experimenting with alternatives filters that are better suited to low resolution LCD's and for older DLP projections that have a x/y pixel size larger then 100um. To further reduce the visibility of pixel stepping by either creating a thicker grayscale outer later or by using a noise filter that creates a random pixelation i have been able to produce prints with a LCD that is 137um x/y and are nearly indistinguishable from prints made with a LCD of 47um.

The noise filter is the most effective out of everything tested and really makes the biggest impact on organic shapes with lots of complex curves, pixel marks(pixel stepping) is reduced and if the noise filter intensity is high enough it can create a sort of rough surface finish that somewhat mimics a clay sculpt instead of the smooth plastic surface thats typical of a resin print. The software used for testing is a simple program called G'Mic aka Greyc's Magic image, it's a gnu opensource program that is able to batch process image slices very quickly. To run the tests i upload the model to nanodlp, then download, extract the images, run the batch script to apply noise filter to the image slices, re-zip the images and upload back to nanodlp https://gmic.eu/

Would it be possible to implement some other forms of AA like selecting between light, medium, heavy or implement a noise filter directly into nanodlp? there are other slicers like chitubox, slic3r pe and formware which use a much heavier AA and result in a smoother print. The AA in nanodlp isn't bad but it could be better. Adding the noise filter would be a unique feature as no one else has this option baked in. It would be really nice for applying texture to certain kinds of models like terrain or a bust that you want to look more natural.

If anyone wants to try it out for themselves the following will work in most versions of linux. Install g'mic then create a text document called "noise.sh" and paste in this script:

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

save the file, to use it simply place the text file into the folder that contains images you wish to process. Double click and select run in terminal, takes about 2 minutes to process 2,000 images. Intensity of the filter can be adjusted by changing the numbers in the script from 0.1,0.1,0,0 to 0.7,0.7,0,0 and if you go past 7 the surface will start to degrade, 5 is most effective for a low res lcd or projector.

Last edited by bootdsc (2019-04-06 22:21:18)

Offline

#2 2019-04-07 06:09:15

Shahin
Administrator
Registered: 2016-02-17
Posts: 3,541

Re: Anti Aliasing Alternative Algorithm

Great idea, maybe we should provide interface to call any external program on layers.

Could you provide pictorial comparison between nanodlp and other slicer AA?

Offline

#3 2019-04-07 13:17:59

bootdsc
Member
Registered: 2018-06-05
Posts: 11

Re: Anti Aliasing Alternative Algorithm

Here is the data set i'm printing, 3 of them are finished. No AA for control, nanodlp AA on, nanodlp AA + noise filter, g'mic heavy AA filter. I might add in a print using slic3r pe but since i'm using checkerboard in nanodlp and slic3r doesn't have that option it won't be a perfect comparison. Once they are all printed ill do a set of macro images

Last edited by bootdsc (2019-04-07 13:58:51)

Offline

#4 2019-04-07 18:35:54

bootdsc
Member
Registered: 2018-06-05
Posts: 11

Re: Anti Aliasing Alternative Algorithm

Compared the output side by side, Slic3r pe manages a much smoother AA. The prints are not all finished yet but so far i can see positives and negatives to the different AA methods, with AA turned on straight edges don't evenly form the outer most pixel of the image slice. AA does a great some on curves and angles but straight edges suffer. So another aspect of improving the effectiveness of AA will be to make it not process edges perpendicular to the LCD's edges.

AA Testing

https://i.imgur.com/g1moaVF.png

Last edited by bootdsc (2019-04-07 18:36:57)

Offline

#5 2019-04-07 20:41:38

Shahin
Administrator
Registered: 2016-02-17
Posts: 3,541

Re: Anti Aliasing Alternative Algorithm

Thank you for the comparison.

Offline

Board footer

Powered by FluxBB