Friday, July 21, 2006


DJ Ted Stevens Techno Remix

The AP
The 82-year-old Republican [Sen Stevens], chairman of the Senate Committee on Science, Commerce and Transportation, has been parodied mercilessly by bloggers after referring to the Internet as a "series of tubes" and for mistakenly calling an e-mail "an Internet." A music video for the "DJ Ted Stevens Techno Remix" is currently playing on YouTube.


How to not behave at a world summit

From the AP, Bush's back rub magnified in cyberspace:
An impromptu back rub that President Bush gave German Chancellor Angela Merkel is now massaging millions of funny bones.

Larry Sabato, professor of politics at the University of Virginia: "If they're not doing something that's embarrassing, they have nothing to worry about. A president ought to know enough not use an expletive in a fairly open meeting and almost any male alive today knows that you don't offer uninvited massages to any female, much less the chancellor of Germany."

Many writers saw a sexist aspect to Bush's back rub. "This isn't a Sigma Chi kegger, it's the G-8 Summit," wrote blogger Christy Hardin Smith on

Wednesday, July 19, 2006


Iraq PM condemns Israel over attacks

Doesn't seem the Iraqi leadership is on the same page as the US. Should I be surprised Maliki is more sympathetic toward fellow Shia in Lebabon than to America's support of Israel? Not really.

From the New York Times
"The Israeli attacks and airstrikes are completely destroying Lebanon's infrastructure," Mr. Maliki said at an afternoon news conference inside the fortified Green Zone, which houses the American embassy and the seat of the Iraqi government. "I condemn these aggressions and call on the Arab League foreign ministers' meeting in Cairo to take quick action to stop these aggressions. We call on the world to take quick stands to stop the Israeli aggression."

The American Embassy did not answer a reporter's request for a response.

Tuesday, July 18, 2006


A Whitney Brown nails the Mideast problem

One of my favorite comics now posts over at DailyKos. His latest is just wonderful!

I'm a media myth, but my crazy roommate Is real
Right now I'm cowering in my fucking closet with no food, no electricity, nothing but dirty water to drink, and my crazy ass roommate is pounding the shit out of the people next door. And the thing is, they're my best friends.

Who am I kidding? They're my only friends. And they're getting their ass kicked for sticking up for me. So they say, anyway. I just wish they had found some better way of showing me their love than heaving rocks through the window at my roommate all hours of the day and night. Don't get me wrong, I appreciate the solidarity, but shit, I have to live with this fucking maniac. And as long as they're fucking throwing shit, how about throwing some food, or a pack of Marlboros, or a magazine to read in this fucking closet? Or maybe a job or something...

Sometimes I think my friends don't so much like me as they just hate my roommate. I went to stay with them once and they made me crash under a plastic sheet in the back yard. Excuse me, in one corner of the back yard. With a fence around it. Some friends.

I had to use wire cutters every time I went out to steal a paper from own fucking former porch. Then my roommate found me out, and man I took an ass-kicking that makes me sob just to remember it. Sabra.

How did I get in this shithole mess? You wouldn't fucking believe it if I told you, but I'm going to tell you anyway.

I'm chillin' at the crib one day, knockin' back some dates and watching the goats fuck in the back room while my wife was shingling the roof and some guy knocks on the door.

I go to the door and the guy says, "Hey, son, you're an Elvis man, aren't you?"

I said, "Why yes I am, what of it?"

He says, "Well, I'm a Beatles man."

I said, "Yeah. Okay."

He says, "I happen to know from the liner notes of this Special Bonus Album that only I have, that this here house you're living in, used to belong to a Beatles fan. Like me."

I looked at him like he was batshit. Which he is, by the way, but that's not the cause of our disagreement, just the symptom.

He says, "This dwelling place has been reserved in perpetuity, all time, and extended play for Beatles fans."

I said, "I don't dislike the Beatles, I just like Elvis better. Truth be known, I favor the Stones over the Beatles as well. I just don't see how that adds up to me giving over my house to you."

He says, "Let me put it to you another way, Slick. I have been dreaming about living in this house since before you even moved in. That should close the case. It's my house."

Maybe I should have heard him out, but I just slammed the door in his face, except he stuck his big foot in there.

He said, "I wasn't going to bring this up, but it just so happens that my previous landlord kicked the shit out of me, and killed half my family, and I figure somebody owes me. That would be you."

I wish I could say I opened the door and my heart wide with compassion and welcome, just like the Indians did for the Pilgrims, but I'm not that way. I didn't like the motherfucker then any better than I like him now, and I slammed the door and triple bolted it, and went to drag my other wife off kitchen duty to guard it with a poleaxe.

Thing is, I forgot about the back door, and the next day I had a roommate. Which wasn't so bad, until all his friends and family showed up. And then we got in a big fight, and the landlord tried to give him my third wife's room, along with half the yard and the goat pen.

Roommate said, "Look at you, you with those scrawny goats in that pen. I can put a hydroponic tomato garden in there and put the whole thing on a paying basis. You don't deserve this yard."

So we got in a big fight and I had to beat a quick retreat to the shed out back. Figured I'd get my shit out of the house later. It's still there.

Along with my date tree, and now the motherfucker treats me like a damn dog, makes me show papers everytime I leave the yard, steals my money, killed my grandfather and 3 cousins, and I'm crammed into this shithole closet with no food and now no electricity.

I feel like a goddam ghost. But my crazy ass roommmate is real, and tell you the truth, if he thinks up any more ways to fuck me in the ass, I think I might just kill myself. And I might just take one of my motherfucking roomates with me. That is, if my friends don't kill me first.

Saturday, July 08, 2006


HDR Time Lapse

My latest experiment with my camera. A High Dynamic Range Time Lapse clip. This is 20 minutes from my office window compressed down to 11 seconds.

For each frame, I have the camera set to bracket the exposure +1,0 and -1 stops. Lacking a timer, I pressed the shutter release once every 5sec. I ended up with 624 640x480 jpegs. Taking them three at a time, I used PFScalibrate from the pfstools suite to generate 208 HDR images, one for each 5 second interval.
The resulting HDRI were tone mapped via the Fattal operator. Blender was used to composite the individual images into a movie. And YouTube is hosting.

Not counting the camera and computer, which I already owned, the total cost of this experiment: zero.

If you watch closely, you might notice a ghostly appearance to the people walking by. It takes a couple seconds for the Sony DSC-V3 to take the three bracketed exposures, during which time the people have moved. The cloud motion is slow enough for this not to matter.

Tuesday, July 04, 2006


qpfstmo: HDR Tone Mapping GUI for Linux

Tone Mapping GUI for Linux
I have written a GUI interface to RafaƂ Mantiuk and Grzegorz Krawczyk's collection of tone mapping operators, pfstmo. They in turn extend the resources in pfstools. My previous post, High Dynamic Range Photography with Linux, outlines methods I use for generating HDRI.

Why Tone Mapping

The first two photos below are the shortest and longest exposures used for constructing the final HDRI. In the upper left image, to capture the sunlit details, the back fence and red chair are underexposed. The upper right image captures faithfully the color information for the chair and fence, along with the displayed image on the computer. But this is at the expense of the brightest parts in direct sunlight completely saturating the camera's sensor. As my earlier post explained, using six images spanning the dynamic range of the scene, a HDR image can be constructed.
Input image
Tone Mapping GUI for Linux, 1/400
f/8 at 1/400 sec
Input image
Tone Mapping GUI for Linux, 1/13
f/8 at 1/13 sec
Tone Mapping GUI for Linux, Linear Range
Linear mapping from HDR to LDR
Tone Mapping GUI for Linux, Log Range
Logarithmically mapped
The reason for Tone Mapping arises when we want to display the resulting HDR image. Most display devices, including monitors and printers are Low Dynamic Range (LDR) devices. We need methods for compressing the range of an HDRI to fit range of our display. The bottom two images show what happens when we try simple methods.

The lower left image tries to linearly map to the 8bits/channel availible in the standard JPG format. Eventhough it maintains strong color information in the midrange, both the high and low end details are completely lost.

The bottom right on the other hand uses a logarithmic mapping, which does a fine job of maintaining the shadow detail. The sunlit parts of the scene also preserve their detail. But this comes at the expense of the color information; the resulting image appears flat.

Tone mapping operators provide more sophisticated methods for acheiving the needed range compression. pfstmo provides seven such operators; along with references to the orginal papers for each operator. For further discussion, I recommend High Dynamic Range Imaging; Acquisition, Display, and Image-Based Lighting by Reinhard, Ward, Pattanaik and Debevec.


qpfstmo provides a Qt-based GUI for using the pfstmo binaries. Before proceeding, make sure you have a working installation of pfstools and pfstmo. Given that, get the source code via:Assuming you got the source code, cd into the source directory and qmake;make to generate the executable qpfstmo. Assuminig you have qt-devel installed, there shouldn't be a problem. The binary doesn't directly link against pfstools or pfstmo; they are used via QProcess.

There is nothing about this code that makes it tied to Linux. If you have Qt and pfstools/pfstmo installed successfully, you should be able to get this program to work.

Overview of using qpfstmo

Assuming you have loaded an HDR image, the first thing to appear is the Main Window.

Tone Mapping GUI for Linux, Main Window

The across the top, there are Tabs for each of the seven operators included in pfstmo. Before any can be used, a "Work Size" must be selected. By starting with a small size, it is quick to see the effect of adjusting a parameter. To apply the selected tone mapping operator with the specified parameters, just press the "Apply", redarrow, button. You can choose to have the new mapped version replace the current image or have the new mapping open in a new viewer window.

Tone Mapping GUI for Linux, Viewer Window

The "Viewer" window. If you like what you see, you can save it. For this version, the only save option is as PNG. I am having issues with Qt's QString and file extentions. Gamma can be adjusted, and reset if needed.

Tone Mapping GUI for Linux, Desktop

Using the "New Window" option in Main window, each tone mapping will appear in its own window. This makes it easy to see what effect adjusting a parameter will have on the tone mapped image.

My favorite tone mapping operators:The top image of this article was tone mapped via the fattal02 operator.

This page is powered by Blogger. Isn't yours?