Generating Single Image Stereogram (SIS) images has been an interest of programmers going back to the early-mid 1990's when it was quite a fad. In subsequent years the interest has waned but hardly disappeared as a quick perusal of the web will attest.
What is a SIS?
We're all familiar with the classic side-by-side 3D image-pair. The Viewmaster reels we enjoyed as kids held such pairs of left-right images. A SIS is a single image that contains a 3D image. On casual inspection the left-right pairings aren't so obvious, but nonetheless the optical principles aren't actually different from the classic method.
A SIS is produced on the computer from two components, a depthmap and a texture file.
The depthmap is usually a monochrome image where white represents least depth and black furthest away. The computer program uses that information to plot where pixels from the texture image are placed in the final image. The result is a series of vertical texture "bands"—visually fusing the bands reveals the 3D view encoded in image according to the depthmap.
In childhood the experience of viewing 3D photographs was vastly appealing to me. Much later on, in the late 1990's, the artistic potential of SIS imagery intrigued me. Back then I developed ways to create sizeable screenprints of SIS subjects. Those methods still work, albeit with modifications, they're a lot like the methods I use now.
The elusive 90's SIS program...
In 2019-2020 when I began to re-explore SIS images, I felt that the currently available programs were not as good as I used long ago. IMO recent programs had a big defect: they didn't produce symmetrical stereograms, that is, images were produced starting at the left or right side which always looked distracting and unattractive. The program I used in the 90's started with a texture band in the center and grew left/right from there. That's what I wanted to find.
An intensive search failed to find the software I remembered using. What I did find were a few programs from that time, that were kinda sorta what I was looking for.
Transforming old software
SIS programs often have a serious problem with "artifacting". That's where a program produces output of jagged, off-color lines marring the image and making it hard to see the intended 3D effect. And the old programs produced a lot of artifacts.
Where do thse artifacts come from? Well, it's a math problem. Pictures are composed of pixels which are atomic, all or none, half pixels aren't possible. So let's say a program computes pixels need to go in positions 349, 350.5, 352 pixels from the left edge. But it's whole numbers only, so pixels are placed at 349, 350 (or maybe 351), 352, etc. That leaves a pixel at either 350 or 351 unfilled and with the wrong color.
Old (and recent) programs had a lot in common. All used the same basic methods to do their magic. This was useful information! After several weeks revising, updating and expanding the core SIS "recipe", it was possible to almost completely eradicate the dreaded artifacts. (Technically, developing a novel look-behind algorithm that filled missing pixels solved 99% of the artifact problem.) Bottom line, the final program generates near flawless SIS images, a better performance than any other SIS program I've tried out.
The SIS generator is a very nice console, command-line app. But in that form most users wouldn't go near it, they're used to the point and click way of interacting with programs.
A "graphic user interface" (GUI) frontend was needed. An old GUI standby is the programming language Tcl and GUI toolkit Tk. A great choice for the purpose.
The end result is a very usable GUI app capable of generating outstanding SIS images.
Everything needed to create high-quality SIS images has been bundled together on one place, a single folder, nothing else is necessary. Furthermore there's nothing to configure even if you really wanted to. Keep it simple, it's ready to run as soon as setup is done.
MkSIS is 100% free open source software, licensed under the same liberal terms as TclTk. (2-clause BSD license)