Extracting the two images from FujiFilm REAL 3D’s MPO format on a Mac

The FujiFilm REAL 3D camera uses the MPO file format for storing stereo image information. I haven’t been able to find a simple way on the Mac to extract the two JPEG images contained in this format, so I wrapped an Automator action around a shell script using the command-line ExifTool, and voilà, now I have a GUI app that accepts drag and drop. Here’s a description of what I did, as well as two download links if you only care about the what, not the how.

The REAL 3D saves stereo images as MPO files – basically a wrapper for two JPEGs. While FujiFilms new 3D products and services work with this format, most image processing applications cannot do much with it.  There’s an especial dearth of MPO-savy applications on the Mac. (Ricoh does publish a small app called VM-1 that supposedly handles MPOs, but, in my testing, it failed to process FujiFilm’s MPOs.)

So are we only supposed to look at the stereo images on FujiFilms 3D displays or lenticular prints? Shall we give up on anaglyphs and other view options? I’m sure there will soon be elegant GUI-based solutions for extracting the two JPEGs from the MPO on a Mac, but for the time being, here’s a little GUI hack that takes a bunch of MPO files and extracts the image pairs from them.

What I did was to follow the leads on the comment thread of this blog post, where a command line utility called ExifTool was mentioned as being capable of performing the extraction.

But who likes command line tools? (OK, a bunch of people do. But photo processing is pretty much a drag-and-drop and GUI-based thing for me, so I wouldn’t want to switch over to the Terminal for dealing with photos unless absolutely necessary.) So I did download ExifTool from here, and learned from a blog comment above that the two images can be extracted by using these commands:

xiftool -trailer:all= image.mpo -o mpimage1.jpg
exiftool image.mpo -mpimage2 -b > mpimage2.jpg

Where image.mpo is the original image, and mpimage1.jpg and mpimage2.jpg are the stereo pairs.

So, how to wrap a GUI around all this? Well, of course, by using Automator!

In Automator, I created an Application, and added a single “Run Shell Script” action to it.

I then edited the script to read

for f in "$@"
do
   exiftool -trailer:all= $f -o ${f}_l.jpg
   exiftool $f -mpimage2 -b > ${f}_r.jpg
done

I saved the application under some name in some location, and, to make things easier, dragged its icon to the Finder toolbar. Once that’s done, I can now just simply drag and drop a bunch of MPO files on this icon, and the app will put their stereo pair equivalents in the same folder as the original MPO files are located, adding “_l.jpg” and “_r.jpg” to their file names. Of course, if you want to use a different naming convention, just change the shell script above.

If you don’t want to follow all these steps, just download ExifTool from here (may not be the latest version), run its installer, then download my Automator application from here.

Please understand that this little kludge performs no checking whatsoever, so I’m not even able to tell you what it will do if you use it on the wrong file types.

~ by Puiz on November 23, 2009.

4 Responses to “Extracting the two images from FujiFilm REAL 3D’s MPO format on a Mac”

  1. Thank you for this interesting article. Maybe you can give me an answer on one question: How can i load the .MPO files direkt on my Mac? The Fujifilm Finepix Viewer does not load .MPO on the Mac. And my Mac does not recognise my Fuji 3D W1 Camera as an .MPO source. Mac does not even recognise a cardreader with the SD card wich was formatted in the Fuji 3D W1. I do not like to read the MPO´s from the camera on a Windows PC and then transfer them on my Mac. Maybe you know a solution ?

    • Hi there. I try to avoid downloading pictures from the camera; why complicate things if all I need to do is to copy some files off a memory card? Thus, I always use card readers. I’m not sure why your Mac cannot read a card formatted in the REAL 3D. Did you also try it in iPhoto or Image Capture? If all else fails, maybe you can read your current images via the Windows route, and then shoot your future images using cards that both the Mac and the REAL 3D recognize.

      Right now, I have no time to research what that file system would be (i.e. what option to select when reformatting the card in your Mac), but any SD card I’ve ever bought has been usable both by my Mac and my REAL 3D right out of the box.

      Hope this helps, and let me get back to you after New Year’s on this!

  2. I’m grateful to see you’ve succeeded in making this work. I’m presently using Macintosh OS X 10.8.4 on a MacBook Pro, Mid-2012 and hoping to be able to decode MPO files from my FujiFilm 3D W3. Have you needed to modify your previous work to make it work on Mountain Lion? Have you also tried / had any success creating a script for the FujiFilm 3d W3’s MVI stereoscopic movie files?

  3. SD cards have different speeds and capacities. So do the readers. I have new, high-capacity SD cards that the SD slot in my oldest laptop cannot read. This was easily overcome buy purchasing for $32 at Best Buy a new card reader which I plug into that laptop via the USB.

    Additionally, I’m working on a Perl script which will also automate the MPO-to-Stereo JPEG conversion process. There is another which I found that’s coded in Python and works fine, but I want mine to have thin border boxing each view which assists the naked eyes when free-viewing. I’ll post it on-line for free when I do. Google for my last name plus “MPO” to find it when done. I’ll give it a GUI once I’m happy wiith how it works in CLI.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

 
%d bloggers like this: