Last night, I was working on a bunch of images and I really wanted to just get a visual overview along the lines of a scatter plot, but with images rather than dots. Unfortunately, no matter what I searched for, I couldn’t find anything to do what I wanted.
ImageMagick’s montage tool can do it… but you have to manually fill in the empty cells with the special filename null:
…so I wrote a script to do just that.
Oh, and I got carried away and wrote a “rubber matrix” class to abstract away the actual generation of the grid. Basically, it’s a DictMixin-based class that insists on consistently sized tuples as keys and then adds some extra methods to traverse them as sparse points in a matrix dynamically sized to only the rows/columns/etc. which exist.
I haven’t yet decided on what command-line syntax I want, so you have to import it, but it works perfectly in my preliminary tests.
By submitting a comment here you grant this site a perpetual license to reproduce your words and name/web site in attribution under the same terms as the associated post.
All comments are moderated. If your comment is generic enough to apply to any post, it will be assumed to be spam. Borderline comments will have their URL field erased before being approved.
About the Author
I'm Stephan, a Linux user with a passion for open-source, UI/UX design, and exploring what makes fiction work.
In my spare time, I focus on (and write about):
Programming (mainly in Python and Rust)
Retrocomputing (mostly DOS but, as of January 2023, I also own a machine running Mac OS 9.2)
Reading and Reviewing Fiction
The odd bit of UI/UX design or literary theory
For notification of significant updates to existing posts, consider following me on Mastodon.
By submitting a comment here you grant this site a perpetual license to reproduce your words and name/web site in attribution under the same terms as the associated post.
All comments are moderated. If your comment is generic enough to apply to any post, it will be assumed to be spam. Borderline comments will have their URL field erased before being approved.