Another place where this type of aliasing occurs (and a different application of many of the topics we will learn in this class) is 3d-printing. There are many different techniques for converting smooth curves into discretized/quantized stepper motor positions, and the same issues of aliasing occur in that domain, just over the time/position space rather than x/y pixel space. Moire patterns emerge in 3d printing as well (a very famous example of this is titled issue 602, where a particular motion profiling approach resulted in very poor moire patterns on the surface of 3d prints, and the entire community invested a ton of effort trying to circumvent this. Just thought I'd make an interdisciplinary connection to highlight how important some of the topics we learn in class are!
austinapatel
I sometimes see Moire patterns on photos I take on my phone, but I notice that this effect changes or goes away if you zoom into a smaller section of the photo (effectively changing the sampling rate as you zoom in which changes the aliasing effect). To me this means that the Moire effect is a property of the screen (sampling rate) used to view the image in addition to a property of an image (some images are more prone to this effect happening). I'm curious to know if photo viewing apps have any built in functionality to detect that these patterns occur and attempt to correct it with a low pass filter.
Staffyirenng
@adham-elarabawy Thanks for highlighting this connection to 3D printing!
Staffyirenng
@austinapatel Great, detailed observation and description of a common, real-world example. I often notice exactly what you describe.
There are multiple stages of filtering and sampling.
One stage is at the camera. The optical image signal that forms on the sensor is slightly blurred (filtered) by the lens and antialiasing optical layers. This happens before sampling by the physical sensor pixels. In older cameras, imperfections in these steps often resulted in aliasing (including moire) in the image files saved by the camera. This kind of aliasing could not be undone, and be seen even when zooming the images on a display to "100%" where every photo pixel illuminates a single display pixel. Today, antialiasing in the camera design is generally very well optimized, and it is uncommon to see aliasing artifacts in the saved photos (though you could try to stress-test your camera!).
A second stage, where I suspect the moire you described emerged, occurred in software that was resizing the photo to display it on your screen. Briefly, to accomplish this resizing, the software reconstructs a continuous signal from the discrete photo pixel samples (mathematically, this is convolving with a reconstruction filter), and then resamples this continuous function at the necessary framebuffer sampling rate. If the reconstruction filter used does not filter out high frequencies appropriately, aliasing (including Moire) can appear in the resized image shown on your display, as you've noticed. Actually, the process of mapping images to geometry rasterized to the framebuffer is called texture mapping. We have a whole lecture on texture mapping and -- you guessed it -- antialiasing texture maps is a major topic!
Another place where this type of aliasing occurs (and a different application of many of the topics we will learn in this class) is 3d-printing. There are many different techniques for converting smooth curves into discretized/quantized stepper motor positions, and the same issues of aliasing occur in that domain, just over the time/position space rather than x/y pixel space. Moire patterns emerge in 3d printing as well (a very famous example of this is titled issue 602, where a particular motion profiling approach resulted in very poor moire patterns on the surface of 3d prints, and the entire community invested a ton of effort trying to circumvent this. Just thought I'd make an interdisciplinary connection to highlight how important some of the topics we learn in class are!
I sometimes see Moire patterns on photos I take on my phone, but I notice that this effect changes or goes away if you zoom into a smaller section of the photo (effectively changing the sampling rate as you zoom in which changes the aliasing effect). To me this means that the Moire effect is a property of the screen (sampling rate) used to view the image in addition to a property of an image (some images are more prone to this effect happening). I'm curious to know if photo viewing apps have any built in functionality to detect that these patterns occur and attempt to correct it with a low pass filter.
@adham-elarabawy Thanks for highlighting this connection to 3D printing!
@austinapatel Great, detailed observation and description of a common, real-world example. I often notice exactly what you describe.
There are multiple stages of filtering and sampling.
One stage is at the camera. The optical image signal that forms on the sensor is slightly blurred (filtered) by the lens and antialiasing optical layers. This happens before sampling by the physical sensor pixels. In older cameras, imperfections in these steps often resulted in aliasing (including moire) in the image files saved by the camera. This kind of aliasing could not be undone, and be seen even when zooming the images on a display to "100%" where every photo pixel illuminates a single display pixel. Today, antialiasing in the camera design is generally very well optimized, and it is uncommon to see aliasing artifacts in the saved photos (though you could try to stress-test your camera!).
A second stage, where I suspect the moire you described emerged, occurred in software that was resizing the photo to display it on your screen. Briefly, to accomplish this resizing, the software reconstructs a continuous signal from the discrete photo pixel samples (mathematically, this is convolving with a reconstruction filter), and then resamples this continuous function at the necessary framebuffer sampling rate. If the reconstruction filter used does not filter out high frequencies appropriately, aliasing (including Moire) can appear in the resized image shown on your display, as you've noticed. Actually, the process of mapping images to geometry rasterized to the framebuffer is called texture mapping. We have a whole lecture on texture mapping and -- you guessed it -- antialiasing texture maps is a major topic!