If you light a lamp for somebody, it will also brighten your own path.
~ Buddhist saying
(Cabrillo Point Lighthouse, California in the fog).
R. Harrison, Creative Enterprises
writing, photography, and computer science
~ Buddhist saying
(Cabrillo Point Lighthouse, California in the fog).
~ Lao Tzu
I recently attended a southeastern photography society meeting which was neat. Many of the photographers lamented the demise of polaroid imaging. Apparently, there was quite a sub-culture involved in modifying the process either to put images on unusual papers or to modify SX-70 images while they were still squishy.
I loved the squishy effect and the applied mathematician in my background realized it was a problem in fluid dynamics. Therefore, it was something fun to play with and more importantly I knew how to do it.
Or at least I thought I did. Turning the idea into an algorithm and then an efficient program took a little work. Work which I’ll describe after the photots.
Here’s my test image. Nothing special, really, just a street scene in San Diego from a study section trip.
After applying a coordinate deformation, I generate this wavy image. The coordinate deformation is determined by the red and green bits on an input mask:
This is designed so you can use a layer in photoshop or Gimp to draw it over the original image. Red is high pressure, where the image moves away, and green is low pressure, where the image moves to. The background can be black, white, or transparent without effect.
Using a different pattern results in a different image:
Which is sort of cool.
Outside of efficiency issues and wandering aimlessly down a quick and dirty approximation (never a good idea), the only real issue is mapping grids to grids when bending the surface coordinates. If the effects of mapping floating point numbers to integers is not corrected, the image degrades with lots of little bitsy things:
Eventually, those bitsy things take over the entire image, which is sort of ugly.
The algorithm involves inputting the initial pressure (that red/green map) and then solving for an equilibrium solution or potential. You can do this with finite differences but that is really really really slow. Instead I used a convolution with the scipy.signal.convolution function. It’s a bit tricky to figure out the reference frame for the convolution, but once understood and implemented correctly it’s blazingly fast.
I then find the gradient of that potential. Again, scipy.signal.convolution comes to the rescue as I define the finite element for the difference and simply convolve that with the potential. This is much easier done than said. (if you want to see the math, we developed it in detail for a related problem and on google scholar)
The final issue is performing gradient descent in the image coordinate space. If you take an efficient sized step, then the integer round off when you map between the real value of the estimate and its closest integer will always skip a few pixels. Iterating this ends up with lots of additional little lines. So it is necessary to perform a smooth extension along the gradient by filling in with multiple step sizes (again easier to do than to say).
~ Dogen Zenji
I’m rather proud of this image. It’s of the sun through the misty early morning woods in Alabama. Getting it “just right” took more than a little trickery.
The original isn’t bad,
but no matter how I adjusted it as a single layer, it just wasn’t the way I liked. Not that there is a great difference between almost right and just right. I think it’s a little too busy and a getting a good balance between foreground and background is hard.
So I cut the lit areas of the background out.
Then I used Gaussian blur on the original image to produce a smooth bright background:
These were then layered together resulting in a composite that I think hits the spot
I’ve used the same sort of techniques in portraiture – both to brighten hair and remove distracting background without causing the picture to cross the “uncanny valley” into caricature, but that’s for another post.
I’ve joined one of the groups of photographers in the Atlanta area: the Southeastern Photography Society. Partially for social reasons, and partially to get feedback and learn new things.
Anyway they have monthly themed contests and next month’s is “Fur and Feathers.” The obvious choice is animals, though I did entertain several alternatives, and maybe will pursue them. Unfortunately I don’t know anyone with a feather boa who wears fur and would be willing to be an outrageous model. I wondered about a still life of fish flies or lures since they often use both fur and feathers; and something tells me that my puppies would not be keen on being dressed up with a bunch of feathers. So the obvious choice it is.
I get to put in a black and white/monochrome entry and a color one.
This one is one of my favorites, just because it’s funny.
I also like this one of our puppy. It looks like a Julia Ward Cameron work. Either of these will work well enough.
A bird is an obvious choice:
A closeup of a bluejay feather is also possible:
I have a lighter and a darker version of this, but the mid-range is probably best.
This close up of the edge of a turkey feather is neat, though there are some artefacts from the focus stacking.
This science-fiction landscape is actually an extreme closeup of a decomposing Oak branch.
Cool, aint it? There’s a tiny mite near the left side and at least three small fungi spore bodies (or possibly slime molds). If you like seeing new worlds, and I do, this is exciting.
I’ll be experimenting with ultraclose photography in the new year. It practically begs for focus stacking – where you overlap a stack of images based on the focus. The lens I’m using is basically a microscope lens adapted onto a mount for my cameras. It’s only a 20mm lens, but you must be within a couple of centimeters to focus. And by the way, you focus by moving the camera, not the lens. So a focusing rail and sturdy tripod are de rigueur so to say. I’m also curious to see what happens when I use extension tubes to move the lens away from the camera body and increase the magnification.
Still there’s a lot to see even with single shots.
This jungle is a common species of moss:
And English Ivy sparkles with color or perhaps it should be colour, even though it’s dark from the cold.
I didn’t know that and wouldn’t have noticed it with just my eyes.
These images probably won’t make it onto our website, though I’m not sure about the first as it is intrinsically interesting, but drop me a line if you’d like a copy (I’ll probably aske you to sign up for the mailing list though).
One of the big differences between “just snapshots” and art photography is that the artist thinks about what they’re doing, what they’re trying to show, and how to achieve the desired result.
I’ve been reading and studying techniques of composition because … well … that’s one way to learn. The other is way is to go out and shoot, I’ve been doing that as well, and I’m hoping to have meaningful interactions with some of the local photography groups. (We’ll see about that last part, I tried before with one group and had a less than stellar experience. Cliques and in-groups are a thing.)
One book I’ve found useful is Richard Garvey-Williams “mastering composition” It’s inspired me to look again at how I edit images. You can’t always plan out photographs in the wild. You can try, but nature has a way of doing what she wants and the process of observation often perturbs the environment. Shades of quantum mechanics, say what?
Today’s images show what I mean. (and they are or soon will be available on this site.)
The original is pretty, enough, but it’s out of balance and a bit washed out.
Cropping, playing with the image chromatic values (adjusting the image values to remove saturation and then adjusting the midpoint level), and using various trickery to restore the size results in:
This is a vastly better image. The subject dominates the picture and the lines defined by the flowers leads the eyes to it.
Much the same happens with this image of a Swallowtail. Before: