FujiFilm W3 3D Stereo Movie Viewing With Cardboard

UPDATED with corrections (3/17/2015)

This post describes procedures I used to prepare a FujiFilm W3 camera 3D stereo movie for viewing with Google's Cardboard viewer on my Android Sony Xperia Z1S smart phone.

First you need to download Stereo Movie Maker (SMM for Windows) from Muttyan's site:  http://stereo.jpn.org/eng/stvmkr/index.html
This program will convert and re-size a W3 AVI movie file to a side by side version you will need for viewing with Cardboard.

Next I downloaded 32-bit ffdshow:  http://sourceforge.net/projects/ffdshow-tryout/  for Stereo Movie Maker to have video codecs for reading and writing your movie file. If you do not, SMM gives an error about a missing MJPEG decoder. To configure I used information supplied by http://3dstereophoto.blogspot.com/2011/05/fujifilm-finepix-real-3d-w3.html  Make sure you run the VFW configuration program (View for Windows), not the video decoder configuration program, turning on libavdecoder for MJPEG.

Now open your video file using SMM:


Next you should align with the Adjust menu, Auto Alignment. Also make any other adjustments  you might want next, such as under View, auto color adjustment, for example.



Now save the movie in side by side format. I chose to re-size for the Cardboard viewer for my phone's display screen 1920x1080. The SMM re-size parameters are 960x540. If I had a phone with larger display, like Samsung Galaxy S6 with its 2560x1440 display, I would not need to re-size to X 1280 and Y 720 since this is nearly the resolution of W3 movies out of the camera (1196x720).  Unfortunately my codec does not have a license for HD 2560x1440 size, so I have to use 960x540 for the re-size.


A video compression window will appear. If you leave uncompressed the file size is large and video is low quality. I chose GoPro since I own a GoPro and have their software installed on my computer. The quality is very good if you choose to configure. I tried other video compression formats, but only had success with GoPro-CineForm codec.



After saving the movie file, I transferred it to my Z1S via USB cable. A dialog box appears recommending conversion, do this. The transfer program converts the file to MP4 format that the Sony phone can show.

On the phone I used the VLC for Android media player app for viewing the movie. https://play.google.com/store/apps/details?id=org.videolan.vlc.betav7neon&hl=en
 The link is to beta version, so this link will probably change. I also tried Cardboard Theater, but found VLC much easier to use.


Celebrating PI Day


And Einstein's birthday and any other irrational activities you can think of!

Photographer's Dilemma

http://www.nytimes.com/2015/02/22/style/shutterbug-parents-and-overexposed-lives.html
"A photograph may distort or even push out our actual memory of an event, studies suggest."

As a photographer I am sometimes concerned if I shoot pictures at an event that I will miss out in experiencing the event. The above excellent article made clear some problems with shooting events and at same time trying to experience an event. Doing both observer and participant roles together are not always possible, I can't multitask.

3D Photo Viewing With Cardboard


Got Google's Cardboard inexpensive VR (virtual reality) viewer from "Unofficial Cardboard" with the idea of seeing how my 3D stereoscopic photos look in Cardboard compared  to my 3D tablet  (Inferno/Gadmei INF2890). No Android stereo viewing or VR apps I tried worked as I would have liked with my photos. This is because they did not fill the whole screen or were too big for my phone display. It was difficult to get the photos to be the right size for viewing in Cardboard with many photo apps. Also I don't want to have to move around with the viewer just to see a stereo 3D slideshow. But I did discover an easy method for viewing my 3D photos in Cardboard without VR apps.

For my Sony Xperia Z1S phone I used StereoPhotoMaker to resize side_by_side stereo photos to 1920x540 pixels (with black borders if necessary to match the display width of 1920 specifically for the Z1S with its 1920x1080 display). Then in the Cardboard viewer I look at photos in full screen mode with an app like Full Screen Pic. The result looked good with Cardboard, and actually much better than my 3D tablet. However I can see the pixels of the photos due to lens magnification. 

I also experienced some eyestrain discomfort, but this may be due to how I composed and edited the stereo photos. UPDATE: Now I think this is caused by my eyes being too close to the lenses in the cardboard frame, because when I back away the picture is sharper.

Full Screen Pic has a slideshow mode that works well because it does not use or can turn off annoying transitions or zooms and it works in full screen.

Photographer's LED Light Stick Version 2


 Light Painted Flag (20 seconds)


Changing Colors Pattern (20 seconds)


Light Painted Mask (20 seconds)

Recently I finished building my second version of a photographer's LED light stick shown below. A couple years ago I built my first LED light stick to experiment with light painting photographic art. See what I did then at:
http://andymodlaphotography.blogspot.com/2012/05/photographers-led-light-stick.html
http://andymodlaphotography.blogspot.com/2012/09/light-painting-photo-shoot.html
http://andymodlaphotography.blogspot.com/2014/03/the-scream-two.html
Now I wanted a better tool.

The second version is longer than the first stick at 64 inches vs. 48 inches, and has more LEDs: 230 vs. 64. Unlike the first version, it uses a 1 MByte SPI Flash memory chip to store images instead of a Flash memory card. The computer board, an Adafruit Flora (Arduino based), sends image data to Adafruit Neopixel Digital RGB LED strips (144 LEDs per meter). The Flora SPI bus reads images from an external Flash memory chip that was previously programmed over Flora's USB port from a PC.




The LED strip is mounted in a 3/4 inch aluminum channel. A diffusion sheet covers the strip.


The handle is a re-purposed car wash sponge holder. The USB cable is not connected for normal use.


I used Java like Processing language and library code to process for gamma correction/orientation and download images to the Flora for storage or display. Five images fit in the 1 MB Flash memory. One future project is to use an Android phone or tablet to paint images real-time over the USB port. The Flora code can display an image directly from the USB port instead of Flash memory.


This is top view of the control box with power switch, center knob switch for selecting images or patterns to display, and start/stop switch. Power to the LEDs come out the sides of the box and the top plug is the control line to the Neopixel strip.


At the top a Cactus V5 wireless transceiver trigger starts the LED image paint from Flora and closes the shutter on my tripod mounted camera, before I begin to move the stick for painting. 


Internal view of  case with Flora in center and batteries left and right.


Work in progress Flash memory board soldered to Flora 


The 1 MByte Flash Memory chip board

I found the Neopixel LEDs to be very bright. In the future I'll use a 3 stop neutral density filter on my camera lens to cut down on the light. This will allow me to go from an overexposed F22 to F11. I like the filter approach because then I don't have to reduce the number of image colors to lower the brightness and can use a image as edited in Photoshop without changing image brightness just for use in the light stick.


Android and Processing - 3D Photo Display

I'm learning to write Android apps using both Eclipse and Android Studio. As a fan of the Processing language and platform, I recently found out I can generate an Android app written in Processing too. Processing is a programming environment based on Java for artists and designers. The Processing IDE (Integrated Development Environment) has an alternate output mode for generating Android apps in addition to generating Java applets and applications. There are a number of Android limitations when using Processing, but I think it is pretty cool to be able to write a program in Processing and run it on my Android phone and tablets.

More about installing Processing and writing code for Android can be found at
http://blog.blprnt.com/blog/blprnt/processing-android-mobile-app-development-made-very-easy
and
https://github.com/processing/processing-android/wiki

I wrote a simple test program in Processing to display a photo on my Android phones and tablets.

/*
Simple photo display test for Android device
Written by Andy Modla
*/
String filename;
PImage photo;
void setup() {
    // DO NOT call size() for Android devices!!
    //filename= "walksequence_1920x1080.jpg";
    filename ="hwS14037C.JPG";
    println("displayWidth="+displayWidth + " displayHeight="+displayHeight);
    getImage();
}
void getImage() {
    photo = loadImage(filename);
    if (photo.width > photo.height)
        orientation(LANDSCAPE);
    else
        orientation(PORTRAIT);
    image(photo, 0, 0, displayWidth, displayHeight);
    println( "Image width="+photo.width + " height="+photo.height);
}
void draw() {
}
To install this app on my Android devices, I  first had to reconfigure the tablet or phone in developer mode. This was done by pressing the Settings->About Tablet->Android version label 7 times to see the Settings->Developer Options screen. Then I set USB debugging mode. See http://developer.android.com/tools/device.html for details.

Prior to installing an app from my Windows 7 PC I also had to have USB device drivers installed. By installing PDANet for Android software, hard to find drivers were installed for all my Android tablet devices. For Sony, I used the Sony phone support site USB driver.

Processing makes it very easy to compile, install, and run a Processing sketch on an Android device. Just press "Run on Device" with the tablet connected to the computer via USB cable.

With the above test program running on my Inferno 3D tablet, could I display a 3D photo too?

Since I do not yet know what code to use to set 3D display mode on the tablet using Processing or Java, I did it in a round about way. My solution was to first install the Gadmei 3D Activator app to allow me to toggle/change hardware mode in the tablet to 3D mode. Next the 3D photo used in the test was reworked in Stereo Photo Maker to

1) Resize to 1280x752  with Keep aspect ratio with border option set. The display size is actually 1280x800, but the system menu stays on the screen, so the photo size was adjusted instead of removing the system menu.

2) change it to "Horizontal Interlaced". This is done by the SPM (Stereo Photo Maker) menu Stereo->Interlaced->Column Interlaced and then save as JPG stereo image. Then when the above app-sketch runs, it displays the photo in 3D after toggling 3D mode on.


The Processing sketch above could be enhanced to resize and interlace the photo before displaying it, but that is for another time. In mean time I'll just use 3DSteroid app.

Glasses Free 3D Tablet


It's not easy to show people my 3D photos with my 21 inch 3D monitor. I have to carry the monitor and computer to an event and setup everything and then provide glasses. To make it simpler, I recently bought a glasses-free Inferno 3D tablet (model 2890). This Android 4.1 tablet has an 8 inch diagonal display (1280x800 pixels) and is similar to Gadmei E8-3D tablets.

Overall I'm pleased with the tablet displaying 3D, it is bright and does a decent job. However looking at the display ghosting will appear in 3D images unless the tablet is held just right, at the sweet spot for viewing. This hand held adjustment is very small and prevents others from viewing 3D photos at the same time -its a one person at a time experience. That is the main drawback to this tablet for 3D viewing. I have similar issues with my large 3D monitor, but the viewing angle is much less critical and the large screen makes up for having to use glasses.

To improve the sharpness and quality of displayed 3D images I had to change the default settings in the tablet. I got a sharper image from the display by turning off Settings->Display->Dynamic Backlight. I also set the brightness slider in Settings->Display->Brightness to about two thirds max.

Amazon reviewers described a better experience with 3D photos after installing the 3DSteroid Android app. The author, Masuji SUTO (Muttyan), also wrote the Stereo Photo Maker for Windows which I use to post-process my photos into 3D images. Many thanks to Masuji SUTO for his excellent and generous work to the stereoscopic community.

I bought the 3DSteroid pro version and found it worked very well with different 3D formats, such as MPO and side_by_side JPG 3D photo files. Plus the pro edition lets you create and adjust 3D photos. Some documentation is at http://stereo.jpn.org/eng/android/help/3dsteroid.htm

I also installed the Stereoscope app by Stereoscopie.fr to more easily set up and use slide shows. I recommend this app too.