Changes between Initial Version and Version 1 of UserGuide2.0


Ignore:
Timestamp:
May 19, 2010, 11:14:05 AM (15 years ago)
Author:
Frédéric
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UserGuide2.0

    v1 v1  
     1[[TOC]]
     2
     3= Papywizard User Guide =
     4
     5''This documentation refers to the stable release of branch 2.x (2.0.0) of Papywizard; documentation of the developpement branch can be found [UserGuideSvn here].''
     6
     7== Usage overview ==
     8
     9Papywizard is very easy to use, and I hope the GUI is intuitive enough.
     10
     11The 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.
     12
     13Second, 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.
     14
     15Then, just move the head either using the big GUI arrows, or using the keys shortcuts (see below), and set the start/end positions.
     16
     17Once it is done, just open the shooting dialog and launch the entire process. That's it!
     18
     19== Advanced usage ==
     20
     21Papywizard 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.
     22
     23=== Mosaic mode ===
     24
     25The mosaic mode computations are based on the following parameters:
     26
     27 * minimum overlap
     28 * camera orientation
     29 * sensor coef. and ratio
     30 * focal lens
     31
     32So, these settings must exactly reflect your configuration.
     33
     34This 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:
     35
     36 * set them from the current position
     37 * give the total field of view for both directions; start/end positions will be automatically computed arround the ''Home'' position (yaw=0, pitch=0)
     38 * 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)
     39
     40It 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).
     41
     42It 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 [TipsAndTricks#Shootingdirection Tips and tricks]).
     43
     44=== Preset mode ===
     45
     46This 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).
     47
     48==== Custom presets ====
     49
     50Some 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 the config directory: '''{{{~/.config/papywizard2/}}}''' on linux, '''{{{/home/user/.config/papywizard2/}}}''' on maemo, and '''{{{C:\Documents and settings\<user>\Application Data\papywizard2\}}}'''¹ on Windows.
     51
     52''¹: you have to configure the Windows Explorater so it shows you ''system'' files and directories.
     53
     54Here is the file structure:
     55
     56{{{
     57#!xml
     58<?xml version="1.0" encoding="utf-8" ?>
     59<papywizard>
     60    <preset name="My custom preset">
     61        <tooltip>
     62            20D + 50mm
     63            12 picts @ +55°
     64            20 picts @ +40°
     65            50 picts @  10°/-10°
     66            20 picts @ -40°
     67            55 picts @ -70°
     68        </tooltip>
     69        <shoot>
     70            <pict yaw="0." pitch="55." />
     71            <pict yaw="30." pitch="55." />
     72            <pict yaw="60." pitch="55." />
     73            <pict yaw="90." pitch="55." />
     74            ...
     75        </shoot>
     76    </preset>
     77    <preset name="Another custom preset">
     78    ....
     79     </preset>
     80</papywizard>
     81}}}
     82
     83Where:
     84 * {{{<preset> name attribute}}}: name used to present the preset in the GUI
     85 * {{{<tooltip>}}}: information for that preset (shown in the information presets template window)
     86 * {{{<shoot>}}}: list of all positions to shoot, described in {{{yaw/pitch}}} attributes of the {{{<pict>}}} tag (one tag per position)
     87
     88''Note: it is possible to define several presets in the same file.''
     89
     90To 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.
     91
     92You can also import a custom preset file from the ''File'' menu. Note that 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.
     93
     94If you add usefull templates, feel free to send them so they could be added as default ones.
     95
     96=== Preset converter ===
     97
     98As 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 [DataToPresetConverter a form] to automatically make such conversion.
     99
     100== Shooting sequence ==
     101
     102It 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.
     103
     104''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.
     105
     106If 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.
     107
     108== Cutomization ==
     109
     110=== Style sheet ===
     111
     112Since release 1.9.1, Papywizard can load a user style sheet. This file must be name '''{{{papywizard.css}}}''', and must be located in the config directory.
     113
     114Here is a sample file:
     115
     116{{{
     117#!c
     118QPushButton {
     119    color: red;
     120}
     121}}}
     122
     123For more informations about Qt style sheets, see [http://doc.trolltech.com/4.4/stylesheet.html this page].
     124
     125''Note: a dedicated page for nice style sheets will soon be created. Feel free to send yours.''
     126
     127== Tethered shooting ==
     128
     129It can be usefull to call an external program to make tethered shooting, instead of using the Merlin/Orion triggering.
     130
     131If a '''{{{shoot.py}}}''' python script is found in the user config. dir, the functions '''{{{mirrorLockup()}}}''' and '''{{{shoot(bracketNumber)}}}''' contained in this script will be called instead of internal ones.
     132
     133Here is a minimalistic example script:
     134
     135{{{
     136#!python
     137import subprocess
     138
     139
     140def mirrorLockup():
     141    """ Lockup the mirror.
     142
     143    @return: error code, stdout, stderr
     144    @rtype: tuple of int, str, str
     145    """
     146
     147    # See shoot() function
     148    return 0, "", ""
     149
     150
     151def shoot(bracketNumber):
     152    """ Shoot.
     153
     154    @param bracketNumber: number of the current bracket picture
     155    @type bracketNumber: int
     156
     157    @return: error code, stdout, stderr
     158    @rtype: tuple of int, str, str
     159    """
     160
     161    # Launch external command
     162    args = ["gphoto2", "--capture-image"]
     163    p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
     164
     165    # Wait end of execution
     166    stdout, stderr = p.communicate()
     167
     168    return p.returncode, stdout, stderr
     169}}}
     170
     171The external program name (here, '''"gphoto2"''') must be the first element of the '''{{{args}}}''' list; optional params (here '''"--capture-image"''') can be given as additional elements of the list. If you want to give the '''{{{bracketNumber}}}''' value, use '''{{{"%d" % bracketNumber}}}''' (or '''{{{str(bracketNumber)}}}''') as param value.
     172
     173Under Windows, the full path of the program must be given, like '''{{{"C:\\Program Files\\notepad.exe"}}}'''.
     174
     175 * ''Note 1: the tethered program needs to support command-line call.''
     176 * ''Note 2: if a function does not exist, the internal one will be used instead.''
     177
     178More informations about ''subprocess'' module usage can be found here:
     179
     180 * [http://www.python.org/doc/2.5.4/lib/node528.html]
     181 * [http://www.python.org/doc/2.5.4/lib/node532.html]
     182
     183== Reference manual ==
     184
     185=== Main window ===
     186
     187==== Menus ====
     188
     189 * '''File > Quit''': exit from Papywizard
     190 * '''File > Import Preset File...''': Import presets from file
     191 * '''File > Load Style Sheet...''': load style sheet
     192 * '''Hardware > Connect''': connect to the head hardware
     193 * '''Hardware > Set limit...''': set the selected limit to curent position
     194 * '''Hardware > Clear limits''': reset all limits
     195 * '''Hardware > Goto Home...''': goto home position
     196 * '''Hardware > Goto Initial...''': goto inital position (when turned on)
     197 * '''Help > Manual''': open this documentation (network connection needed)
     198 * '''Help > View log...''': open log dialog
     199 * '''Help > About Papywizard''': open the Papywizard about dialog
     200 * '''Help > About Qt''': open the Qt about dialog
     201
     202==== displays ====
     203
     204Mosaic tab:
     205 * '''Start''': start shooting position
     206 * '''End''': end shooting position
     207 * '''Total Fov''': total shooting field of view
     208 * '''Nb picts''': shooting number of pictures
     209 * '''Real overlap''': real shooting overlap
     210 * '''Resolution''': resolution of the pano
     211Preset tab:
     212 * '''Template''':
     213Common:
     214 * '''Position''': current position of the head
     215
     216==== buttons ====
     217
     218 * '''Mosaic/Preset''': switch between mosaic and preset mode
     219Mosaic tab:
     220 * '''Start/Yaw/Pitch''': set the start shooting position from current position (for both, yaw or pitch)
     221 * '''End/Yaw/Pitch''': set the end shooting position from current position (for both, yaw or pitch)
     222 * '''Total fov''': open a dialog to specify the wanted yaw/pitch fov
     223 * '''NB picts''': open a dialog to specify the wanted yaw/pitch nb picts
     224Preset tab:
     225 * '''Template''': template defining all positions
     226 * '''Templates information''': informations on available templates
     227Common:
     228 * '''Left/Right Yaw arrows''': move head on yaw axis
     229 * '''Left/Right pitch arrows''': move head on pitch axis
     230 * '''Set origin''': set the current position as origin (yaw=0.0°, pitch = 0.0°)
     231 * '''Configuration...''': open the config. dialog
     232 * '''Shoot...''': open the shooting dialog
     233
     234==== Status bar ====
     235
     236 * '''Messages'''
     237 * '''Manual speed'''
     238 * '''Connexion status'''
     239
     240=== Configuration dialog ===
     241
     242==== Shooting tab ====
     243
     244 * '''Head orientation''': orientation of the head
     245 * '''Camera orientation''': camera orientation on the head (if combobox is set to ''custom'', real orientation can be given)
     246 * '''Stabilization delay''': delay to wait after the head has stopped, and before shooting, to let the head stablizing
     247
     248==== Mosaic tab ====
     249
     250 * '''Overlap''': minimum wanted overlap
     251 * '''Start from''': start position
     252 * '''Initial direction''': initial moving direction
     253 * '''CR''': if set, go back to the start of the row/columns before starting a new one
     254
     255==== Camera tab ====
     256
     257 * '''Time value''': shooting time. If set to 0, skip shooting sequence
     258 * '''Pulse width (high/low)''': width of the shutter triggering pulse (high level duration, and minimum low level duration between too consecutive shots)
     259 * '''Bracketing''': number of picture to take at each position, and the intent of the bracketing
     260 * '''Sensor (coef/ratio)''': ratio to 24x36 size, width vs height ratio
     261 * '''Sensor resolution''': resolution of the sensor
     262
     263==== Lens tab ====
     264
     265 * '''Type''': type of the lens (''rectilinear'' or ''fisheye'')
     266 * '''Focal''': real focal of the lens (''rectilinear'' only)
     267 * '''Optical multiplier''': optional optical multiplier coef. (''rectilinear'' only)
     268
     269==== Hardware tab ====
     270
     271 * '''Driver''': hardware driver to use ('bluetooth', 'serial', 'ethernet')
     272 * '''BT device address''': bluetooth device address for 'bluetooth' driver
     273 * '''Choose...''': open the bluetooth chooser dialog
     274 * '''Serial port''': serial device port for 'serial' driver (either a int or a string, like {{{COM1}}} or {{{/dev/ttyS0}}})
     275 * '''Ethernet host''': hostname/IP for the 'ethernet' driver
     276 * '''Ethernet port''': port number of the 'ethernet' driver
     277 * '''Auto-connect''': if set, try to automatically connect to the head at startup
     278
     279==== Data tab ====
     280
     281 * '''Data storage dir''': set the directory where data file are written
     282 * '''Data file''': format to use for the output data file name. The final name is {{{papywizard_<format>.xml}}}
     283  * {{{%(date)s}}}: expands to current date
     284  * {{{%(time)s}}}: expands to start shooting time
     285  * {{{%(date_time)s}}}: same as {{{%(date)s_%(time)s}}}
     286  * {{{%(mode)s}}}: expands to shooting mode (mosaic or preset)
     287 * '''Enable''': flag to enable the data file
     288 * '''Title''': title of the pano
     289 * '''GPS''': GPS informations of the pano
     290 * '''Comment''': comment on the pano
     291
     292==== Timer tab ====
     293
     294 * '''Start after''': delay to wait before starting
     295 * '''Enable''': switch to enable the '''Start after''' timer
     296 * '''Repeat''': number of repeats
     297 * '''Enable''': switch to enable the '''Repeat''' feature
     298 * '''Repeat every''': shoot panos every given time
     299
     300==== Misc tab ====
     301
     302 * '''Logger level''': level of informations to log
     303
     304==== buttons ====
     305
     306 * '''OK''': validate settings and close dialog
     307 * '''Cancel''': revert to previous settings and close dialog
     308
     309=== Bluetooth dialog ===
     310
     311This dialog shows the list of availabe bluetooth devices, and a button to refresh the list.
     312
     313=== Shoot dialog ===
     314
     315==== displays ====
     316
     317 * ''shooting scene'': display the shooting position. Clicking on this area while paused set the next position to shoot
     318 * ''text shooting area'': display the shooting position in text mode
     319 * ''sequence'': display the current shooting sequence
     320 * ''repeat counter'': display the current repeat value
     321 * ''elapsed time'': display the shooting time and total elapsed time
     322 * ''progress bar'': shooting process progression (for current repeat and all repeats)
     323
     324==== buttons ====
     325
     326 * '''Text''': toggle text/gaphical shooting areas
     327 * '''Rewind''': while paused, rewind the next position to shoot
     328 * '''Forward''': while paused, forward the next position to shoot
     329 * '''Data''': direct access button to the Data tab of configuration dialog
     330 * '''Timer''': direct access button to the Timer tab of configuration dialog
     331 * '''Step-by-step''': if checked, each step (moving, shooting) will need to be validated use the Pause/Resume button
     332 * '''Start''': start shooting process
     333 * '''Pause/Resume/Step''': pause/resume/step shooting process
     334 * '''Stop''': cancel shooting process
     335 * '''Close''': close shooting dialog
     336
     337=== Log dialog ===
     338
     339==== buttons ====
     340
     341 * '''Clear Log''': clear the log window
     342 * '''Save Log''': save the log to file (in the data storage dir)
     343
     344== Keyboard shortcuts ==
     345
     346Papywizard main target is ''Nokia Internet Tablets'', so keyboard shortcuts are dedicated for that plateform (but works fine with normal PC). Here are defined shortcuts:
     347
     348 * In main window:
     349||'''Nokia'''||'''PC'''||'''Function'''||
     350||[[Image(Right.png, 24, nolink)]]||Right||Turn the head right (Yaw +)||
     351||[[Image(Left.png, 24, nolink)]]||Left||Turn the head left (Yaw -)||
     352||[[Image(Up.png, 24, nolink)]]||Up||Move the head up (Pitch +)||
     353||[[Image(Down.png, 24, nolink)]]||Down||Move the head down (Pitch -)||
     354||[[Image(F7-increase.png, 24, nolink)]]||End||Increase the manual speed||
     355||[[Image(F8-decrease.png, 24, nolink)]]||Home||Decrease the manual speed||
     356||[[Image(Return.png, 24, nolink)]]||Return||Open shooting dialog||
     357||[[Image(Escape.png, 24, nolink)]]||Escape||Quit the application||
     358||||Ctrl-q||Quit the application||
     359||||Alt-F4||Quit the application||
     360
     361 * In shooting dialog:
     362||'''Nokia'''||'''PC'''||'''Function'''||
     363||[[Image(Right.png, 24, nolink)]]||Right||Forward shooting position (while paused)||
     364||[[Image(Left.png, 24, nolink)]]||Left||Rewind shooting position (while paused)||
     365||[[Image(Up.png, 24, nolink)]]||Up||Forward shooting position (while paused)||
     366||[[Image(Down.png, 24, nolink)]]||Down||Rewind shooting position (while paused)||
     367||[[Image(Return.png, 24, nolink)]]||Return||Start/pause shooting||
     368||[[Image(Escape.png, 24, nolink)]]||Escape||Stop shooting - Return to main window||
     369
     370 * In all dialogs:
     371||'''Nokia'''||'''PC'''||'''Function'''||
     372||[[Image(F4-menu.png, 24, nolink)]]||F10||Show menu||
     373||[[Image(F5-home.png, 24, nolink)]]||-||Standard maemo behaviour||
     374||[[Image(F6-fullscreen.png, 24, nolink)]]||F11||Toggle fullscreen mode||