In the about page I clearly state that this blog isn't written for you, dear reader - it's written for me. Think of it as a seven-year therapy session that just ain't going anywhere but happens to produce the odd nice photo every now and then. Now I'll dive into a topic that I can't imagine anyone else will have the slightest interest in: An abandoned jogging track.
This track I'm talking about is the "little jogging track". While in the first-sixth grade, this was what we ran, when we ran, during PE. When I had been to our server hall in Kista, I used to walk home along it. It was a nice little trail through the woods; and during the golden hour it was just magic. Here's a shot taken with my first camera, a Sony DSC-U30:
It doesn't quite do justice to the warm yellow sunlight shining through the woods. I thought I'd go get a better shot of that scene, but you all know what it's like: I kept working late, missing the golden hour. The weather didn't cooperate. I shot off to California and then to Vienna. When I finally got around to dragging myself there, because, you know, this will never get done otherwise, I see that a road construction crew had blasted the whole area to a big hole filled with rubble.
Great guys. I'm just three years late and you blew up the place. You could've given me another year before turning it into a crater, couldn't you?
I really had it rubbed into my face that you can't expect an opportunity to last forever. You have to get your thumb out and just act on it. Otherwise the fine working men and women of the City of Stockholm will come and blast the opportunity to rubble for you.
Five years pass. I knew that parts of the little track was left - the part nearer Kista could still be seen when walking down the road. But the part on Töjnanberget (a.k.a. IBM-Skogen / The IBM-Forest) appeared to be gone, save for a very short section near the roundabout connecting Lagtingsgatan to Borgarfjordsgatan.
A couple of days ago I decided that I should do a proper survey of Husby. The Stockholm Random Walk was progressing, but Patrick Lönnberg's Nedslag i Kistas Historia had inspired me to do the equivalent for Husby - a near-complete survey of one place insead of a quick walk through yet another random spot.
Table of Contents
1. Day One - 2012-06-03
I packed my gear and took the subway out to Husby. From the eastern exit of the subway station I walked to the end of Nidarosgatan. Not knowing where to go, I ended up walking to Lagtingsgatan, figuring that I'd start by documenting the remnants of the little track. To get an overview I climbed up one rubble-covered face of the cut that had been made to connect the new road with Hanstavägen.
I went into the woods and followed the edge of the cut when I saw the little track. I couldn't believe it. This was not meant to be here!
There was so much more left than I thought there'd be. I just couldn't believe it. Ever since I saw the big hole filled with rubble, I had thought this was all gone; turns out it had been here all along. I walked up and down the impossible track, realizing that I very likely had a chance at getting that shot that I had wanted since 2004.
I shot a bunch of photos before the rain made it impossible to go on and went home to plan my next excursion.
While Googling about I found out that the remnants of the little track would not be there for long. The area is to be developed into the new neighborhood called Kistahöjden[b]. Drawing on previous experience, I decided to salvage as much of what was there as possible before that, too, was transformed to rubble.
2. Day Two - 2012-06-04
What followed was my first attempt at preserving as much as possible of a place in photographic form. This is very different from what I usually do when photographing a place. Normally, I only concern myself with "interesting things". Unless a view is special, I don't bother with it.
In this case, the task was to provide a representative sampling of a location, something which makes one short on attention-grabbing images and long on other images. I ended up with 700-something photos, most of which were 360-degree horizontal panoramas, six minutes of video and some sound recordings of birds and trucks.
As art, it falls incredibly short. The photos are uninteresting in the extreme. As documentation, well, we'll see in a couple of years' time if I regret missing anything. Ultimately it isn't possible to preserve very much in a photograph. The times when I've tried to really "capture the moment", it has only worked because the photo could be made to trigger my own memories - never because the photo itself carried the memories. There's just so much that is lost when you turn an experience into a two dimensional array of pixels.
But it's what can be done; and sometimes what is possible will just have to suffice.
During my trip I grabbed a little bit of sand and soil from good photo places. I take a little bit of soil from places that mean something to me, and this spot had definitely qualified.
When I got back home I compared the photos I had with the old photo I wanted to replicate. The fallen tree that is held up by a pair of birches turned out to be the clue that I needed. Looking at the photos I had shot, I could easily identify the trees and rocks. The tree in the left of the photo supplied the remaining position information. Since the camera had been pressed against it I could geo-locate the photo to within a few centimeters, depending on how far up the tree I had held the camera.
I then used the date and time of the old photo to figure out the solar altitude needed to re-create the atmosphere of the shot. Putting the date and time into Stellarium[c] gave me the answer: The Sun was approximately six degrees above the horizon. Fast-forward to today, and that meant I should arrive there at about half past eight - give or take a few minutes. I now had a time and a place. Moreover, I had enough time to get there today.
I hauled ass.
When I arrived in Husby I started walking toward the little track. I noticed that the Sun was very low. Very low indeed. Too low. Despite my calculations I had caught the end of the golden hour, and I probably didn't have many minutes left. I jogged past Dalhagsskolan, and when I reached Lagtingsgatan I sprinted up the incline. Running through the woods to the location I wanted to photograph I could see long shadows still being cast by the evening sun.
But just as I reached the little track and nearly tore the tripod off my backpack, the feeble streaks of sunlight that remained faded away as if someone had turned down a dimmer. A cloud obscured the sun and the Golden Hour ended for today, and with it, my photo opportunity.
I used the old photo to find the exact location it had been taken at, set up the tripod and took some photos of the area in the last light. I also took two more soil samples, the last one from the location that the photo that started it all had been shot.
3. Day Three - 2012-06-05
Now I had to make the dirt storable. Wet and soon moldy dirt isn't something I really want to keep. I went to Google and looked up "sterilize soil". Turns out that two minutes in the microwave oven does the job!
Carefully, while keeping track of all the samples and the order they had been sampled in - which would give me the exact location and time of the sample once I correlated them with the photos I had taken - I poured and spread the soil and sand on tissue paper and microwaved them for three to four minutes to boil off any moisture.
4. Day Four - 2012-06-06
On Sweden's National Day I was, fittingly, microwaving the last three samples of Swedish soil and wrapping up that part of the project.
The weather forecast had predicted overcast, so I had written off any attempt at going out and getting the photo. Seeing a clear sky at eight, with no way to reach Husby in time to take advantage of it, I decide that I would start trusting the weather forecast less in matters as important as these. The sleepless night was spent worrying about snatching defeat from the jaws of victory - powerful drills boring holes in the rock into which explosives would be poured and detonated; robbing me of my new-found chance.
5. Day Five - 2012-06-07
A good part of photography is just plain old dogged persistence. Even if you think that the weather will be bad - you go, because you might be wrong. Even if you look up and see that the sky is overcast - you go, because it might clear up.
Most of the time, though, the weather does turn out bad; and the sky remains overcast. This day turned out to be just one of those days.
The light wasn't what I had expected, either. But the observations I made would pave way for the successful attempt the next day.
Back home it was again back to planning. A couple of things had gone wrong: I had hit the Golden Hour, but the sun had been in the wrong place. I realized that I had to be much more careful with the position of the sun. I would only get the shadows I wanted when the sun was approximately due west. The treeline was much denser to the north, meaning that by the time the sun reached 6 degrees above the horizon, it would be so far north that it would not light up the scene at all!
I decided to take another approach. Instead of waiting for the sun to reach six degrees above the horizon, I would wait for it to reach the same azimuth as previously. Since the previous photo was taken in August, the Sun would be further up the sky, but I thought I had a chance at getting the light I wanted anyway.
Using Google Earth I managed to narrow down the time to about half past seven. If I arrived some time between five and six, I would have plenty of time to set things up properly.
6. Day Six - 2012-06-08
The weather forecast predicted 36% cloud cover. Not that I saw that as a prediction to bet my life on, but having the forecast agree with your expectations is better than having it disagree.
On site I started experimenting with exposure. It soon became obvious that I would have to do a lot of HDR stacking to catch everything I wanted to catch. Further experimentation resulted in a good set of shutter speeds, spaced 1⅔ EV apart. While waiting for the sun to get to the right spot I practiced. As the light changes, the exposure changes as well. In this case the dynamic range of the scene kept expanding. The lower the sun stood, the more backlit the scene became. What could be captured in one or two shots at the start ended up taking five exposures to capture at the end. I kept shooting every five minutes and adjusted the exposure to track the change in light.
As the sun approached the right spot, I set up the tripod and levelled it. The camera was tilted into portrait orientation and swung back and forth to ensure that I had the view I wanted. Set lens focal length to 10mm. Set aperture. Auto-focus on distant object, set to manual and confirm focus distance and depth of field. Set white balance and test. Finally, I confirmed the dynamic range by taking test photos toward the sun and away from it.
I started shooting as the sun reached the right position between the two trees. Five exposures, 1⅔ EV apart - by now I knew the shutter speeds by heart: 1/10 s, 1/30 s, 1/100 s, 1/320 s and 1/1000 s - twist the camera half of the horizontal field of view and repeat.
I kept shooting and re-shooting. I figured that the best colors would appear just before the sun disappeared, so if I just kept on shooting, I should be able to stop when the light ended and end up with the best set of photos just having been shot.
As the area went dark I took a walk toward the top of Töjnanberget and followed the newly made road down.
Back home I could hardly wait to put the resulting photos through the panorama stitcher. How would they turn out? Like this:
It took nearly eight years, but the world had been put right again.
Not wanting to let a good opportunity go to waste, I tried some other compositions.
7. A Walk Around the Track
Come, let's take a walk around the track. During the first few years in elementary school, when it was warm, we'd run around this track, when cold, ski around it. Much later, I'd would walk along it going home from our server hosting in Kista.
This is where the track turns around and makes its way back up over Töjnanberget and back to the start point. Every time I ran the track, I would think of this as the half way point - and I'd be wrong every time. In reality, there's about 2/3rds left.
This section is remembered by me for not being remembered. Every time I'd run the track, I'd be surprised that this part was so much longer than I remembered. I would typically expect the goal to come up about now, and be equally disappointed every time.
8. A Walk Around Töjnanberget
I also went on a walk over Töjnanberget, where the new road Långjökelgatan is being built.
9. The Site
This is what the photo site I so desperately wanted to capture looks like.
10. Things Learned
A number of new techniques came out of this project:
360-degree horizontal panoramas: I had rarely shot these before. Either I did full 360-degree panoaramas, not just a strip along the horizon, or I limited myself to a very wide angle. The full 360-degree panoramas take a long time to produce - both to shoot and to assemble. Given the number of points that I wanted to photograph and the equipment I was willing to bring along, I realized that a faster method than my standard method was required. I realized that since all the interesting stuff was in a band near the horizon anyway, why not just shoot that and leave out the boring parts? The result exceeded my expectations. Photography could be done hand-held in less than a minute. I would just set the lens to 10mm, set the camera on manual exposure, and shoot photos while turning around, offsetting each shot by approximately half the viewfinder width. I could assemble a panorama in about three minutes, then send batches of ten to the Hugin Batch Processor for stitching overnight.
HDR Panoramas: High Dynamic Range photography is when you stack multiple exposures in order to capture both the brightest and darkest points of a scene. The resulting HDR image is then tonemapped to a LDR (Low Dynamic Range) image, which is the only kind of image that can be displayed on a computer screen. Panoramas, of course, is when you stich together multiple photos to get a wider angle of view. Thus far, I had done one or the other. With a single exception that didn't turn out all that well, I had never had the motivation to do both. The reason for this is simple: Doing that much stitching and blending requires massive effort - not just when clicking through the stitching program, but also when shooting. You get the pains of HDR photography combined with the pains of shooting panoramas. In addition to the pains you also get proportionally more things that can go wrong. For this shot I realized that I just had to make such a combination work. The dynamic range was far in excess of what I could capture with a single exposure, and the angle of view that I wanted was too great for even my 10mm lens. I realized all this on-site, as I was about to do the shoot. With no other options, I took the plunge, telling myself that sometimes, you just have to learn on the job.
Added a CylindricalToCubic transform to Bigshot: Originally I intended for the 360 panoramas to be presented as a long strip. Since I prefer a cylindrical projection, however, that strip turned out much too wide for my tastes. It was as if the world ended up compressed in the horizontal direction. Next option was to make a VR cube of the panorama, but in order to do that I had to transform the 360 panorama to a cube map. That transformation requires that one can map a polar coordinate pair θ, Φ to a pixel in the panorama image. For cylindrical maps this is harder than for the equirectangular maps that I had used up until now, since the cylindrical map stretches off to infinity at the top and bottom: For the equirectangular map, "straight up" is the first line of pixels, and "straight down" is the bottom line of pixels; for the cylindrical map "straight up" is infinitely far up on the image, and "straight down" is infinitely far down - pixel row number infinity, if you will. This means that a cylindrical map will never include the zenith and nadir points, and that it is always a subset of the full panorama sphere. The transform had to support this. But now there is a
--transform cylindrical-facemapto transform cylindrical maps, and a
--transform-pto pto-fileto figure out all the transform parameters from a Hugin
Improvements to Bigshot's EquirectangularToCubic transform: The
EquirectangularToCubictransform had so far been assuming that the input image was a full equirectangular map. Since I by mistake stitched a panorama with equirectangular projection instead of cylindrical, this panorama couldn't be turned into a cube map. Unless I added support for it. Which I did.
GPS Tracklog Reader bugfix: I use a home made program to copy photos off the memory cards used in my cameras and geocode them. The geocoding requires that I read the tracklog - the log written by the GPS of my location every 15 seconds - so I can correlate my location with the timestamps of the photos. This program is almost six years old, and has worked fine for me. One thing that surprised me was that every now and then, the GPS would fail to send a track point over the serial connection. The track point would have a bad checksum, and so I would reject the data packet, and with it, the track point. I knew that serial connections weren't all that robust, but I had really not expected this level of corruption.
For this project, I wanted the whole track log where I walk along the jogging track. But when I read the track log (and I had forgotten to clear it, so I had a lot of track points to read), the first 1500 or so track points would come across with no problem, but then I would just get an endless repeat of the last track point. Unfortunately for me, the part where I walk along the track was all in the lost part of the track log.
This motivated me to look into the track log reading code. I started logging the errors. Specifically, I wanted to see if there was any way I could ignore the checksum error; maybe the error could be narrowed down to a part of the data packet that wasn't all that important. I started by logging the computed and expected checksum values and saw lines and lines of
Checksum error: Got 0, expected 256. The checksum was byte-sized, which gave it a maximum value of 255, so if the checksumming code expected it to be 256, it would have to wait a good long while. It was as if it waited for a single-digit number to be 10. I looked at the code, identified the error, fixed it, and suddenly all my GPS read errors disappeared.
Or maybe just first-third, I don't really remember.
So much for a planned survey.
Not the VR kind. These are a 360-by-90 degree strip along the horizon.