Papywizard User Guide

This documentation refers to the stable release (1.6.1) of Papywizard; documentation of the developpement branch can be found here.

For installation instructions, see here.

Usage overview

Papywizard is very easy to use, and I hope the GUI is intuitive enough.

The first thing to do is to edit the configuration, to reflect you camera/lens/head/hardware config. Basic settings are the delay to wait after moving (to let the head stop shaking), the delay to wait while shooting (camera Tv value), and the number of pictures to take at each position (bracketing). See below for specific mode settings.

Second, you need to connect to the hardware (Menu Hardware > Connect). If you use the bluetooth driver (default config), you need to enter the correct address of your adapter. Alternatively, you can get a list of all available bluetooth devices arround, and select the correct one.

Then, just move the head either using the big GUI arrows, or using the keys shortcuts (see below), and set the start/end positions.

Once it is done, just open the shooting dialog and launch the entire process. That's it!

Advanced usage

Papywizard has now 2 modes: Mosaic mode, and Preset mode. The first one is mainly used for partial panos, and is especially designed for hi-res panos, using a large tele-lens. The second one is designed for full-spherical panos, using a wide-lens or a fisheye.

Mosaic mode

The mosaic mode computations are based on the following parameters:

  • minimum overlap
  • camera orientation
  • sensor coef. and ratio
  • focal lens

So, these settings must exactly reflect your configuration.

This mode also needs to know start/end positions, which are two opposite corners of the pano you want to shoot. There are 3 ways to give these positions:

  • set them from the current position
  • give the total field of view for both directions; start/end positions will be automatically computed arround the Home position (yaw=0, pitch=0)
  • give the number of pictures to take for both directions; start/end positions will also be automatically computed arround the Home position (yaw=0, pitch=0)

It does not matter which corner you use for start or end, but it will influence the direction the pano will be shot. Note that, depending of the settings, Papywizard can start shooting from the start position, or from the end position. This is usefull to avoid the head to go back to the opposite corner before shooting (which takes time and uses batteries).

It is also possible to choose the initial shooting direction. Using yaw will shoot row by row; using pitch will shoot column by column. Same, the head can go back to the begining of the row/column before shooting the next one (see Tips and tricks).

Preset mode

This mode is very simple, and does not use any particular settings; it just shoots at all positions defined in the selected template. The only thing to do is to define the home position of the head (origin), which will be the reference for the template positions. In case the camera/lens can't be moved in all positions, it is possible to set some limits, to avoid potential colisions (limits are not saved in the current release, so they must be set each time the head is turned on).

Custom presets

Some default presets are provided with the software, but it is possible to add your own. For that, you need to create a xml file which describes them. The file must be named presets.xml and must be in ~/.config/papywizard/ on linux, /home/user/.config/papywizard/ on maemo, and C:\Documents and settings\<user>\Application Data\papywizard\ on Windows. You can also load a custom preset file from the File menu, but this file won't be automatically loaded at next startup; this is mainly to test your presets before putting them in your user config. dir.

Here is the file structure:

<?xml version="1.0" encoding="utf-8" ?>
    <preset name="My custom preset">
            20D + 50mm
            12 picts @ +55°
            20 picts @ +40°
            50 picts @  10°/-10°
            20 picts @ -40°
            55 picts @ -70°
            <pict yaw="0." pitch="55." />
            <pict yaw="30." pitch="55." />
            <pict yaw="60." pitch="55." />
            <pict yaw="90." pitch="55." />
    <preset name="Another custom preset">


  • <preset> name attribute: name used to present the preset in the GUI
  • <tooltip>: information for that preset (shown in the information presets template window)
  • <shoot>: list of all positions to shoot, described in yaw/pitch attributes of the <pict> tag (one tag per position)

Note: it is possible to define several presets in the same file.

To save time during shoot, take care of the order of positions. For example, don't ask the head to go back to the begining of the new row, it will take too long; instead, reverse the direction and go back for the next row.

If you add usefull templates, feel free to send them so they could be added as default ones.

Preset converter

As all files managed by Papywizard are xml, it is very easy to convert an output data file to a presets.xml file, using XSL transform. Here is a a form to automatically make such conversion.

Shooting sequence

It is possible to suspend/resume the shooting sequence using the Pause/Resume button. Once paused, the shooting sequence can be modified; clicking on any position on the GUI will set the next position to shoot to that new position.

Note: if you are shooting a hi-resolutio pano, there may be too much preview positions on the GUI to easily select one. In this case, just use the 2 button on both sides of the shooting area to rewind/forward the next shooting position. Arrow keys are also binded to these buttons.

If the manual shooting flag is set, the shooting sequence will automatically go to pause mode after each move (before running the camera shutter sequence), and after each camera shutter sequence (before moving to the next position). During the camera shutter sequence, the shutter will be triggered one or more times, depending of the bracketing parameter in the config; no pause will be done inside this sequence.


GTK resources (gtkrc)

Since release 1.5.2, Papywizard can load a user GTK resources file. This file must be name gtkrc, and must be located in C:\\Documents and Settings\<user>\Application Data\papywizard\¹ under Windows, ~/.config/papywizard/ under linux, and /home/user/.config/papywizard/ under maemo.

¹: you have to configure the Windows Explorater so it shows you system files and directories.

Here is a sample file to change the font size:

# gtkrc

style "papywizard-font"
    font_name="Sans Serif 16"

widget_class "*" style "papywizard-font"

Another more complete example:

# gtkrc

style "papywizard-font"
        font_name="Sans Serif 16"

style "papywizard-inverted" = "papywizard-font"
    bg[NORMAL] = { 0.4, 0.4, 0.4 }
    bg[ACTIVE] = { 0.37, 0.37, 0.37 }
    bg[PRELIGHT] = { 0.45, 0.45, 0.45 }
    bg[SELECTED] = { 0.5, 0.5, 0.5 }
    bg[INSENSITIVE] = { 0.4, 0.4, 0.4 }

    fg[NORMAL] = { 0.7, 0.7, 0.7 }
    fg[ACTIVE] = { 0.67, 0.67, 0.67 }
    fg[PRELIGHT] = { 0.95, 0.95, 0.95 }
    fg[SELECTED] = { 0.6, 0.6, 0.9 }
    fg[INSENSITIVE] = { 0.4, 0.4, 0.4 }

    text[NORMAL] = { 0.7, 0.7, 0.7 }
    text[ACTIVE] = { 0.67, 0.67, 0.67 }
    text[PRELIGHT] = { 0.95, 0.95, 0.95 }
    text[SELECTED] = { 0.9, 0.9, 0.9 }
    text[INSENSITIVE] = { 0.4, 0.4, 0.4 }

    base[NORMAL] = { 0.5, 0.5, 0.5 }
    base[ACTIVE] = { 0.55, 0.55, 0.55 }
    base[PRELIGHT] = { 0.5, 0.5, 0.5 }
    base[SELECTED] = { 0.6, 0.6, 0.6 }
    base[INSENSITIVE] = { 0.4, 0.4, 0.4 }

    bg_pixmap[NORMAL] = "<none>"

    engine "clearlooks" {

widget_class "*" style "papywizard-inverted"

Note: a dedicated page for nice gtkrc files will soon be created. Feel free to send yours.

Reference manual

Main window

  • File > Quit: exit from Papywizard
  • File > Load Preset File...: load and add presets from file
  • File > Load Gtkrc File...: load GTK resources from file
  • Hardware > Connect: connect to the head hardware
  • Hardware > Set limit...: set the selected limit to curent position
  • Hardware > Clear limits: reset all limits
  • Hardware > Reset: reset the head hardware
  • Help > Manual: open this documentation (network connection needed)
  • Help > View log...: open log dialog
  • Help > About: open the about dialog


Mosaic tab:

  • Start: start shooting position
  • End: end shooting position
  • Total Fov: total shooting field of view
  • Nb picts: shooting number of pictures
  • Real overlap: real shooting overlap
  • Resolution: resolution of the pano

Preset tab:

  • Template:


  • Position: current position of the head


Mosaic tab:

  • Start/Yaw/Pitch?: set the start shooting position from current position (for both, yaw or pitch)
  • End/Yaw/Pitch?: set the end shooting position from current position (for both, yaw or pitch)
  • Total fov: open a dialog to specify the wanted yaw/pitch fov
  • NB picts: open a dialog to specify the wanted yaw/pitch nb picts

Preset tab:

  • Template: template defining all positions
  • Templates information: informations on available templates


  • Left/Right? Yaw arrows: move head on yaw axis
  • Left/Right? pitch arrows: move head on pitch axis
  • Set origin: set the current position as origin (yaw=0.0°, pitch = 0.0°)
  • Configuration...: open the config. dialog
  • Shoot...: open the shooting dialog

Status bar

  • Messages
  • Manual speed
  • Connexion status

Configuration dialog

Shooting tab

  • Head orientation: orientation of the head
  • Camera orientation: camera orientation on the head (if combobox is set to custom, real orientation can be given)
  • Stab. delay: delay to wait after the head has stopped, and before shooting, to let the head stablizing

Mosaic tab

  • Overlap: minimum wanted overlap
  • Start from: start position
  • Initial direction: initial moving direction
  • CR: if set, go back to the start of the row/columns before starting a new one

Camera tab

  • Time value: shooting time (Tv camera value)
  • Mirror lockup: if set, trigger an additionnal shutter sequence before each shot
  • Bracketing: number of picture to take at each position, and the intent of the bracketing
  • Sensor coef.: ratio to 24x36 sensor size
  • Sensor ratio: width/height sensor ratio
  • Sensor resolution: resolution of the sensor

Lens tab

  • Lens type: type of the lens (rectilinear or fisheye)
  • Lens focal: real focal of the lens (rectilinear only)

Hardware tab

  • Driver: hardware driver to use ('bluetooth', 'serial', 'ethernet')
  • BT device address: bluetooth device address for 'bluetooth' driver
  • Choose...: open the bluetooth choose window
  • Serial port: serial device port for 'serial' driver (either a int or a string)
  • ethernet host: hostname/IP for the 'ethernet' driver
  • ethernet port: port number of the 'ethernet' driver
  • Auto-connect: if set, try to automatically connect to the head at startup

Data tab

  • Data storage dir: set the directory where data file are written
  • Data file: format to use for the output data file name. The final name is papywizard_<format>.xml
    • %(date)s: expands to current date
    • %(time)s: expands to start shooting time
    • %(date_time)s: same as %(date)s_%(time)s
    • %(mode)s: expands to shooting mode (mosaic or preset)
  • Enable: flag to enable the data file
  • Title: title of the pano
  • GPS: GPS informations of the pano
  • Comment: comment on the pano

Timer tab

  • Start after: time delay to wait before starting
  • Enable: switch to enable the previous timer
  • Repeat: number of repeats
  • Enable: switch to enable the previous timer
  • Repeat every: timer value to shoot panos at regular elapsed time

Misc tab

  • Logger level: level of informations to log


  • OK: validate settings and close dialog
  • Cancel: revert to previous settings and close dialog

Bluetooth dialog

This dialog shows the list of availabe bluetooth devices, and a button to refresh the list.

Shoot dialog


  • shooting area: display the shooting position. Clicking on this area while paused set the next position to shoot
  • text shooting area: display the shooting position in text mode
  • sequence: display the current shooting sequence
  • repeat counter: display the current repeat value
  • elapsed time: display the shooting time and total elapsed time
  • progress bar: shooting process progression (for current repeat and all repeats)


  • Text: toggle text/gaphical shooting areas
  • Rewind: while paused, rewind the next position to shoot
  • Forward: while paused, forward the next position to shoot
  • Data: direct access button to the Data tab of configuration dialog
  • Timer: direct access button to the Timer tab of configuration dialog
  • Step-by-step: if checked, each step (moving, shooting) will need to be validated use the Pause/Resume? button
  • Start: start shooting process
  • Pause/Resume?: pause/resume shooting process
  • Stop: cancel shooting process
  • Done: close shooting dialog

Log dialog


  • Clear Log: clear the log window
  • Save Log: save the log to file (in the data storage dir)

Keyboard shortcuts

Papywizard main target is Nokia Internet Tablets, so keyboard shortcuts are dedicated for that plateform (but works fine with normal PC). Here are defined shortcuts:

  • In main window:
No image "Right.png" attached to UserGuide1.xRightTurn the head right (Yaw +)
No image "Left.png" attached to UserGuide1.xLeftTurn the head left (Yaw -)
No image "Up.png" attached to UserGuide1.xUpMove the head up (Pitch +)
No image "Down.png" attached to UserGuide1.xDownMove the head down (Pitch -)
No image "F7-increase.png" attached to UserGuide1.xEndIncrease the manual speed
No image "F8-decrease.png" attached to UserGuide1.xHomeDecrease the manual speed
No image "Return.png" attached to UserGuide1.xReturnOpen shooting dialog
No image "Escape.png" attached to UserGuide1.xEscapeQuit the application
Ctrl-qQuit the application
Alt-F4Quit the application
  • In shooting dialog:
No image "Right.png" attached to UserGuide1.xRightForward shooting position (while paused)
No image "Left.png" attached to UserGuide1.xLeftRewind shooting position (while paused)
No image "Up.png" attached to UserGuide1.xUpRewind shooting position (while paused)
No image "Down.png" attached to UserGuide1.xDownForward shooting position (while paused)
No image "Return.png" attached to UserGuide1.xReturnStart/pause shooting
No image "Escape.png" attached to UserGuide1.xEscapeStop shooting - Return to main window
  • In all dialogs:
No image "F4-menu.png" attached to UserGuide1.xF10Show menu
No image "F5-home.png" attached to UserGuide1.x-Standard maemo behaviour
No image "F6-fullscreen.png" attached to UserGuide1.xF6Toggle fullscreen mode
Last modified 3 years ago Last modified on Mar 18, 2016, 10:28:09 AM