Dual-fisheye Images With THETA V Plug-in


Hi, @codetricity I succeeded in installing Dual-fisheye Images into my THETA V. I’ve tested it on my desk, because today it is raining heavily here.


It’s not possible to use THETA app for the remote shutter during the plugin mode. Am I right?


@Juantonto thanks for this report back. Good job.

By remote shutter, do you mean the special USB cable attachment that Ricoh sells? Or, do you have a Bluetooth clicker?

The plug-in stops access to the main camera application (the default one from Ricoh) during the time the plug-in is in use. While the plug-in is running, you can’t use the main camera function. However, the plug-in developer should be able to trigger the picture taking from an external input.

This could be a good feature request for a developer.


@codetricity thanks, RICOH cable switch CA-3 is available for the plug-in mode?
BTW, I want to connect THETA V over wifi and BT to use the preview and settings, while the plug-in is running.


Hi, @codetricity
Today, I tested Dual-fisheye plug-in again outside. In my test, some of images were generated as equirectangular. It may not work well while plugin is running in HDR mode.

[Caption; Plug-in is running in HDR mode now.]

I’ll show you the stitched file with PTGui later. It is great.



Thanks for your help. We’ll share this with the developer.


It would be great to see your stitching technique with PTGui.

I just sent you the download link for the Android-based stitching application from Ichi Hirota. Feel free to try it out if you find it fun or interesting. The trial application will expire at the end of July.

Thanks for your help testing this pre-release apps and sharing your test results with the community.


I do not believe that the CA-3 will work in plug-in mode. I have not tested it, but I don’t think you should buy it until you verify with someone that it works with the plug-in.

Wi-Fi and Bluetooth connectivity are available to the plug-in while it is running. However, there is no application out right now to trigger the picture. The Wi-Fi trigger would be easy to implement, but it’s not implemented right now.

This is a good feature request.



Hi, @codetricity
I reproduced the issue on the bracketing mode. When I press the “Start plug-in” button on THETA app, the plug-in mode generates one Dual-Fisheye image and two equirectangular images.

Holding Mode button 2s method is normal. I’ve confirmed it on my THETA V.


@Juantonto, thanks for this great information. I’ve sent it to the developer. Unfortunately, he’s in the process of moving back to Tokyo and won’t be able to fix the issues for a few weeks. His development workstations are still in storage. He’s eager to work on these problems, but he needs to get his development equipment set up again.


Stitching Test with PTGui



demo version has watermarks

Using THETA Desktop App

Need to optimize more. See monitor

Here’s the image and project files, both original and stitched.


Hi, @codetricity, @jcasman, @Svendus
This is the result of stitching Dual-Fisheye images of THETA V(2 shots,90 degrees apart by bracketing mode)

1.Dual-Fisheye images stitched by PTGui Ver.11.5

You can also see the image on Google Maps.Here.

2.Norma HDR Ev+1 shooting(Same position)

3.Screenshot of PTGui

As I am not an expert of PTGui, I asked Office BlueSkys to assist me. That’s why I could successfully stitch them. Now I can do the same, too. However, this result is not “Very Good”. We need correct lens information to get much better result. Your advice would be highly appreciated.



You should make Your own template after that you can Batch Stitch hundreds off images on a go

i still wonder why a raw and bracketing mood are not standard on a Ricoh Theta V

regards Svendus


I am new to the Ricoh Theta V and really want to use the fisheye images. In trying to get this set up I upgraded to Firmware 2.31.1 from 1.x(i dont remember exactly what it was). I followed the instructions from http://theta360.guide/plugin-guide/fisheye/, but whenever I hold the “Mode” button down the plugin doesn’t launch. Instead the Remote Playback app opens instead. I can not seem to disable this feature. I did find one dual-fisheye image in the image storage, but that is it. Any suggestions? Is there an older firmware I can revert to?

I can confirm that the dualfisheye_plugin.apk is installed on the camera, and I did change all its permissions.


With the desktop app (mobile app will also work), go to Plug-in management…


I believe that the name of the dual-fisheye app will be “plugin application” It’s two apps above the Wireless Live Streaming plug-in in the picture below.


the mobile app has a similar feature:


If you’re still having problems, please share a screenshot of your list of apps with the “Plugin Application” selected.

Also, @jcasman spoke to the developer today and he’s going to update the application to make it easier to install. He was in the process of moving his house, which delayed getting his plug-in into the THETA Store.


Thanks for your reply @codetricity. That did solve my problem.

I notice that I can’t use PTP to capture images when using the fisheye apk. I was thinking I would delve into modifying the sample apk such that it would capture the dual fisheye image when a PTP capture request is made but I don’t know if this is possible or if I would have to explore a different remote capture method. Has anyone else explored this option? This is my first foray into android programming so I’m sorry if this is a very newbie type of question.

My application here is that I want to register the Ricoh to a radiation detection device such that I can overlay information from the radiation detector onto the captured images from the Ricoh. I already know how to do the registration part, but I need to be able to capture an image on the Ricoh and transfer it via USB to the radiation detection device. We have WiFi, but use it to monitor the radiation detector so it is not available for this purpose so it seems I am stuck using PTP.

If I could use the fisheye apk and PTP then my problems are all solved.


There is no example code to use PTP to take the picture. It is theoretically possible, but you would need to add a PTP client Android library to your plug-in. The camera USB API (PTP) is not accessible from the base SDK. I did a web search for a suitable library, but could not find one easily.

Koen Hufkens is using a THETA S with PTP to study changes to leaf colors. Information on his project is here.

I will relay your question to a guy I know at Ricoh. Can you explain why the dual-fisheye is better than an equirectangular image in your application?


We manufacture gamma-ray imaging radiation detectors (www.h3dgamma.com). In order to account for parallax between the radiation image and the optical images I have to be able to transform between the fisheye space, cartesian/spherical space, and then finally into equirectangular for the final image which we display on screen.

If I start in fisheye space I can calibrate for the lens parameters which then lets me transform into spherical space, then cartesian, correct for parallax, then sample the parallax corrected image for directions in the radiation-origin space. We have our users enter the distance to source and then after correcting for parallax we can have our optical image match the radiation image to <1 degree. This is what I would normally do for our detectors.

The impetus to use the Ricoh is from a customer who wants to use the 4pi image for pre-job brief work in radiation environments to minimize worker exposure to radiation. We want to mount the Ricoh to our detector, using only the USB cable for comms and have the arm in the detector grab the picture from the Ricoh (without an individual having to press a button). In this case instead of correcting the optical image for parallax to the radiation image, we will correct the radiation image for parallax to the optical image. Without knowing the camera lens parameters and how the image is stitched I can’t correctly do the reverse transformation. I can do a poor job if I just use the equirectangular image, but is more empirical than we want.

Thanks for the information, and if I end up having some success I will update.


Thanks for this detailed explanation. I will pass it on. One thing to note is that Ethernet seems to work with the THETA V with some USB OTG adapters. If you have Ethernet and OTG, you can probably trigger the shutter with the simple OSC API.


That might be very useful! I will look into it and update if I have success.


Let me give you some additional info so you don’t waste too much time. I heard from a reliable source that some, but not all, USB OTG Ethernet adapters work. I have not tried this myself as I have a large pile of gear in my office that I need to sort through before I find my USB Ethernet adapter for testing. I just saw the adapter last month. Sigh… I really need to get things organized.

Although the Automatic Face Blur plug-in does provide an example of using the OSC API to take a picture using the OSC API to send an HTTP request to an internal web server, it’s a bit of a convoluted process and the example may not be the best starting point for you. Though, the good point is that you can start with a working configuration and then chip away at the modifications.

The interesting thing with the Automatic Face Blur example is that it does show the LivePreview stream in a web browser. The example below is using Wi-Fi, not Ethernet. I have the camera connecting to my Internet router as a client and the router is assigning the camera an IP address. It seems that this could work with Ethernet and you assign the camera a static IP address stored in the DHCP table. You could try adding the small code to save the image as dual-fish to the existing Automatic Face Blur example, then delete the face detection and blurring parts. Use the dual-fisheye code as a reference. The size of the dual-fisheye image is different.

the normal equirectangular has a resolution of 5376x2688. You need to set the dual-fish image to bigger size of 5792x2896.

 mParameters.setPictureSize(5792, 2896);


The good part about the Ethernet OTG is that it should just work, assuming that the adapter works with the THETA V. By this, I mean you don’t have to write any code to support Ethernet. It’s part of the Android OS and should just work.

There are many articles about connecting Android to OTG Ethernet online.


I just ordered this OTG Ethernet adapter listed in the article to test. I do not know if it will work, but the AX88772 chipset seems to be common and cheap at USB $13.89 with free shipping. If it works, I will post a report