[Papywizard v2] Tethered shooting and intelligent bracketing  

Everything you need to motorize your head
no avatar
mediavets
Moderator
 
Posts: 16415
Likes: 2 posts
Liked in: 130 posts
Joined: Wed Nov 14, 2007 2:12 pm
Location: Isleham, Cambridgeshire, UK.
Info

by mediavets » Mon Feb 16, 2009 7:40 pm

Georges,

I'm a very ordinary photographer so I should have persisted with a few more attempts at manual bracketing. I found I tended to forget where I was in the sequence when shooting - my concentration would drift - old age? And it was awkward to adjust with the camera at some pitch angles where it was hard to see the LCD panel.

Anyway........maybe I'll have few more tries.

.......

WRT automatic bracketing - you have spelled out what I meant, as expected in a more precise and quantified manner. Thanks. I knew you'd be able to put it better than I could.

I like the idea of having PW suggest some additional bracketed shots if it sees fit - I'm all for letting the computer do the work. I can't envisage the user interaction/UI though.

Regarding inspection of the histogram - this would of course be easy (or at least easier) with tethered shooting if you have a camera that allowed remote comtrol/image transfer under computer control IF we can find programs/scripts to do that which could be invoked by, and interact with, Papywizard and which would run on your preferred Papywizard host platform.
Last edited by mediavets on Mon Feb 16, 2009 8:26 pm, edited 1 time in total.
Andrew Stephens
Many different Nodal Ninja and Agnos pano heads. Merlin/Panogear mount with Papywizard on Nokia Internet tablets.
Nikon D5100 and D40, Sigma 8mm f3.5 FE, Nikon 10.5mm FE, 35mm, 50mm, 18-55mm, 70-210mm. Promote control.

User avatar
fma38
Moderator
 
Topic author
Posts: 5850
Likes: 2 posts
Liked in: 2 posts
Joined: Wed Dec 07, 2005 6:21 pm
Location: Grenoble, France
Info

by fma38 » Mon Feb 16, 2009 8:08 pm

Ok. I think I will first try to implement a simple algo, using what you suggested: reshoot as long as 'p' % of the pixels are over level 'l', increasing by 'e' EV each new shot. Same for the opposite. p, l and e will be user-defined parameters.

What possible range do you suggest for these params?

Maybe a flag to tell if we want the test done on each channel, or on the average of all channels?
Frédéric

no avatar
GURL
Member
 
Posts: 2943
Likes: 0 post
Liked in: 0 post
Joined: Tue Dec 06, 2005 1:57 pm
Location: Grenoble
Info

by GURL » Mon Feb 16, 2009 9:45 pm

fma38 wrote:What possible range do you suggest for these params?

- 'e' EV could be 2EV by default (1/3 EV step is usual for such settings.)
- for dark values 'l' level depends of the sensor noise thus depends highly on ISO setting(*), 245 could be more safe than needed for high values.
- About 'p'% my most fair answer is "I don't know". I suspect I would accept 10% for dark values and much less (2% ?) for bright values but... (on histograms how tall is a bar is more than often somewhat adjusted and should not be used to guess those threshold values - size of out of bounds regions matters, a large number of sun sparkles is acceptable while a single equivalent one can suck, etc.)

fma38 wrote:Maybe a flag to tell if we want the test done on each channel, or on the average of all channels?

The average of all channels is not a very good indication. I remember something like "beware! some Canon histograms lies, their so-called RVB histogram is no more than the green histogram copy." (this was on Ken Rockrwell's site, who is often suspected to lean toward Nikon...)

In the darkest parts the blue channel is often the worst one. In the brightest part the green channel could be the worst one but the sun is yellow (= red + green) while the blue sky is ...quite blue!

IMO, the worst color channel matters most. As it looks easy to find out the culprit... (for dark values this is the lowest channel, for bright values the highest channel).
___

* : A propos des ISO j'ai deux questions qui trainent :

En RAW on peut sans beaucoup ou sans aucun inconvenient prendre les photos à  100 ISO puis les éclaircir dans le RAW converter jusqu'à  ce qu'elles soient aussi claires que si elles avaient été prises à  400 ou 800 ISO à  la même ouverture et la même vitesse. Ca surprend et un bouton "ISO" à  tourner avant de prendre la photo fait plus sérieux, mais j'ai des doutes sur la possibilité d'un ampli à  faire des multiplications par deux plus exactes qu'un simple décalage de une ou deux positions vers la gauche. Ca touche aux grands secrets des arrières boutiques des constructeurs (personne n'arrive à  expliquer pourquoi 14 bits c'est mieux que 12 bits - surtout quand le CAN ne sort que 12 bits! - vu que le bruit est réputé être bien supérieur là  ou justement ces fameux bits pourraient servir...)

J'ai toujours fait du bracketting en me mettant à  100 ISO (d'autant plus qu'avec un trépied et un fisheye le 1/1000 ne doit jamais être trés utile.) Donc je n'ai jamais réfléchi au fait de faire du bracketing à  mettons 800 ISO. Ce serait probablement idiot puisque les hauts ISO réduisent la dynamique.
Georges

User avatar
fma38
Moderator
 
Topic author
Posts: 5850
Likes: 2 posts
Liked in: 2 posts
Joined: Wed Dec 07, 2005 6:21 pm
Location: Grenoble, France
Info

by fma38 » Mon Feb 16, 2009 10:35 pm

GURL wrote:- About 'p'% my most fair answer is "I don't know". I suspect I would accept 10% for dark values and much less (2% ?) for bright values but... (on histograms how tall is a bar is more than often somewhat adjusted and should not be used to guess those threshold values - size of out of bounds regions matters, a large number of sun sparkles is acceptable while a single equivalent one can suck, etc.)

Yes, I agree. But it would need a more complex image analysis to find out the size of the over-exposed areas... Let's start with the histogram ;)
Frédéric

no avatar
GURL
Member
 
Posts: 2943
Likes: 0 post
Liked in: 0 post
Joined: Tue Dec 06, 2005 1:57 pm
Location: Grenoble
Info

by GURL » Tue Feb 17, 2009 2:34 pm

GURL wrote:This suggest a maximum exposure value being used and the corresponding setting being available to users.

You skipped over this easy to implement and probably useful suggestion!

Ken Rockwell comments about matrix metering say that the camera manufacturer suppose that the sun is the most powerful light source available, so that in every region in the world and in every season the whitest existing object can't reflect more light that it get from the sun. The described Nikon matrix metering, Automatic Multi-Pattern metering introduced in the FA in 1984 ignore anything higher than EV 16 at ISO 100. (BTW this explains why matrix metering often produces overblown highlights even when this could be avoided: those highlights are deliberately ignored.)

On the opposite side (darkest parts) there is probably a limit, too (EV 0?).

Because the photographer can do some manual test-shots before PapyWizard is launched, my guess is that an upper and lower exposure limit setting will help...
Georges

no avatar
mediavets
Moderator
 
Posts: 16415
Likes: 2 posts
Liked in: 130 posts
Joined: Wed Nov 14, 2007 2:12 pm
Location: Isleham, Cambridgeshire, UK.
Info

by mediavets » Thu Feb 26, 2009 5:50 pm

***Can you make this topic sticky please?***

This relates to tethered shooting....

There are several Windows programs that can control Nikon and Canon DSLRs (and some P&S cameras) over USB.

Breeze Systems do stuff for Canons (DSLRs and P&S) and now some Nikon DSLRS:
http://www.breezesys.com/products.htm

OxfordEye is doing stuff for Nikon DSLRs:
http://www.oxfordeye.co.uk/

Is there some way we could 'link' Merlin/Papywizard (when running on the Windows platform) to their software to implement simple extended expsore bracketing, and maybe more?

See - 'Running DSLR Remote Pro from other programs' section of the Online help:
http://www.breezesys.com/DSLRRemotePro/help/index.html
Andrew Stephens
Many different Nodal Ninja and Agnos pano heads. Merlin/Panogear mount with Papywizard on Nokia Internet tablets.
Nikon D5100 and D40, Sigma 8mm f3.5 FE, Nikon 10.5mm FE, 35mm, 50mm, 18-55mm, 70-210mm. Promote control.

User avatar
fma38
Moderator
 
Topic author
Posts: 5850
Likes: 2 posts
Liked in: 2 posts
Joined: Wed Dec 07, 2005 6:21 pm
Location: Grenoble, France
Info

by fma38 » Thu Feb 26, 2009 10:39 pm

mediavets wrote:***Can you make this topic sticky please?***

Done.

Is there some way we could 'link' Merlin/Papywizard (when running on the Windows platform) to their software to implement simple extended expsore bracketing, and maybe more?

Well, linking an external lib will require a python wrapper for that lib. I think calling the exe is much more simple. I had a look at the doc, and I think it is OK to use it as an external tethered shooting program.
Frédéric

no avatar
mediavets
Moderator
 
Posts: 16415
Likes: 2 posts
Liked in: 130 posts
Joined: Wed Nov 14, 2007 2:12 pm
Location: Isleham, Cambridgeshire, UK.
Info

by mediavets » Thu Feb 26, 2009 11:46 pm

Well, linking an external lib will require a python wrapper for that lib. I think calling the exe is much more simple. I had a look at the doc, and I think it is OK to use it as an external tethered shooting program.

Will you try it out in that mode?
Andrew Stephens
Many different Nodal Ninja and Agnos pano heads. Merlin/Panogear mount with Papywizard on Nokia Internet tablets.
Nikon D5100 and D40, Sigma 8mm f3.5 FE, Nikon 10.5mm FE, 35mm, 50mm, 18-55mm, 70-210mm. Promote control.

no avatar
jeremyp
Member
 
Posts: 33
Likes: 0 post
Liked in: 0 post
Joined: Sun Feb 15, 2009 4:28 am
Location: Sydney, Australia
Info

by jeremyp » Thu Feb 26, 2009 11:53 pm

mediavets wrote:
Well, linking an external lib will require a python wrapper for that lib. I think calling the exe is much more simple. I had a look at the doc, and I think it is OK to use it as an external tethered shooting program.

Will you try it out in that mode?

Does it support full control of the camera? This will also restrict you to one particular camera brand.

From what I have seen libgphoto2 has full camera control and supports many different camera makes and models.

no avatar
mediavets
Moderator
 
Posts: 16415
Likes: 2 posts
Liked in: 130 posts
Joined: Wed Nov 14, 2007 2:12 pm
Location: Isleham, Cambridgeshire, UK.
Info

by mediavets » Fri Feb 27, 2009 12:11 am

jeremyp wrote:From what I have seen libgphoto2 has full camera control and supports many different camera makes and models.

Yes, but only for Linux derived operating systems, and I'm not sure full camera control is offered for all cameras 'supported'?

The Breeze software supports virtually all Canon DSLRs and many Canon P&S, and some Nikon DSLRs.

The OxfordEye software supports virtually all Nikon DSLRs.

The Canon and Nikon brands currently dominate the DSLR market AFAIK.

IF there's an easy way to make use of their functionalty these programs offer, then at least some Merlin/Papywizard users will have access to additional functionality if running Papywizard on the Windows platform, which is likley to be the most frequently used platform for tethered shooting.

I may be mistaken but AFAIK it was always Frederic's intention that such additional functionaly would (have to) be developed by third-parties.
Last edited by mediavets on Fri Feb 27, 2009 12:22 am, edited 1 time in total.
Andrew Stephens
Many different Nodal Ninja and Agnos pano heads. Merlin/Panogear mount with Papywizard on Nokia Internet tablets.
Nikon D5100 and D40, Sigma 8mm f3.5 FE, Nikon 10.5mm FE, 35mm, 50mm, 18-55mm, 70-210mm. Promote control.

User avatar
fma38
Moderator
 
Topic author
Posts: 5850
Likes: 2 posts
Liked in: 2 posts
Joined: Wed Dec 07, 2005 6:21 pm
Location: Grenoble, France
Info

by fma38 » Fri Feb 27, 2009 7:56 am

I will provide some hooks wich will call external scripts, giving them some common parameters. Then, it will be up to users to write the script to call the right program, with the right params. It is no more than a .bat file, with 2 or 3 lines. But I don't know the exact syntax, so I'll let users dig ;)

In fact, a better way should be to use python scripts... I will try to provide a concrete example.
Frédéric

no avatar
mediavets
Moderator
 
Posts: 16415
Likes: 2 posts
Liked in: 130 posts
Joined: Wed Nov 14, 2007 2:12 pm
Location: Isleham, Cambridgeshire, UK.
Info

by mediavets » Sun Mar 01, 2009 4:19 pm

Auto extended bracketing for bulb mode.

I think Merlin/Papywizard could trigger this?:

http://newyorkpanorama.com/2009/01/21/long-exposure-night-hdr-photography-with-arduino/
Last edited by mediavets on Sun Mar 01, 2009 4:23 pm, edited 1 time in total.
Andrew Stephens
Many different Nodal Ninja and Agnos pano heads. Merlin/Panogear mount with Papywizard on Nokia Internet tablets.
Nikon D5100 and D40, Sigma 8mm f3.5 FE, Nikon 10.5mm FE, 35mm, 50mm, 18-55mm, 70-210mm. Promote control.

no avatar
mediavets
Moderator
 
Posts: 16415
Likes: 2 posts
Liked in: 130 posts
Joined: Wed Nov 14, 2007 2:12 pm
Location: Isleham, Cambridgeshire, UK.
Info

by mediavets » Sun Mar 01, 2009 4:34 pm

I am still 'playing' with OxfordEye's Timelord program for Nikon DSLRs - well worth £10:
http://www.oxfordeye.co.uk/

I had a bit of hassle getting it to work with Windows 2000 (it tunred out to be simply a missing driver file) on my old Thinkpad T23 but now it is working with Win2K and XP32.

The latest beta has a simple wizard for setting up extended bracketing.

One thing is clear - if you have a camera hooked up to a PC via USB it drains the camera battery pretty quickly.

This could be an issue for tethered pano shoots away from the mains.

It certainly limits my testing/'playing' - I 'd happily use a mains adapter for the camera except that the D40 has a 'dummy' battery style mains adapter which costs nearly £100!
Last edited by mediavets on Sun Mar 01, 2009 4:36 pm, edited 1 time in total.
Andrew Stephens
Many different Nodal Ninja and Agnos pano heads. Merlin/Panogear mount with Papywizard on Nokia Internet tablets.
Nikon D5100 and D40, Sigma 8mm f3.5 FE, Nikon 10.5mm FE, 35mm, 50mm, 18-55mm, 70-210mm. Promote control.

no avatar
mediavets
Moderator
 
Posts: 16415
Likes: 2 posts
Liked in: 130 posts
Joined: Wed Nov 14, 2007 2:12 pm
Location: Isleham, Cambridgeshire, UK.
Info

by mediavets » Mon Mar 02, 2009 12:43 am

Frederic,

I have asked Todd Gibbs the author of the OxfordEye Timelord timelapse/auto bracketing software (for Windows 2000 and XP) for tethered shooting with Nikon DSLRs whether he could add a feature to run the program from a command line with the project definition filename as a parameter.

He thinks he could do this as the program is still in beta and under development.

So if you can come up with a way to have Papywizard do this - perhaps via a Python script - as an alternative to triggering the shutter in the conventional way then we could have a good solution for extended bracketing with tethered shooting for all Nikon DSLRs - even those models like my lowly D40 that have no built-in AEB capabaility.

Timelord can bracket Shutter speed, Aperture and Exposure compensation exclusively or in combination. Using a simple Wizard you set the starting point, set the number of steps and the increment for each step and it computes the spread of values around the starting point.

Timelord also uploads the shots to the PC.
Last edited by mediavets on Mon Mar 02, 2009 1:23 am, edited 1 time in total.
Andrew Stephens
Many different Nodal Ninja and Agnos pano heads. Merlin/Panogear mount with Papywizard on Nokia Internet tablets.
Nikon D5100 and D40, Sigma 8mm f3.5 FE, Nikon 10.5mm FE, 35mm, 50mm, 18-55mm, 70-210mm. Promote control.

User avatar
fma38
Moderator
 
Topic author
Posts: 5850
Likes: 2 posts
Liked in: 2 posts
Joined: Wed Dec 07, 2005 6:21 pm
Location: Grenoble, France
Info

by fma38 » Mon Mar 02, 2009 8:07 am

I will soon implement an external python script call to allow the user to add such feature. Stay tuned ;)
Frédéric

User avatar
fma38
Moderator
 
Topic author
Posts: 5850
Likes: 2 posts
Liked in: 2 posts
Joined: Wed Dec 07, 2005 6:21 pm
Location: Grenoble, France
Info

by fma38 » Mon Mar 02, 2009 10:10 am

I added the following feature: if the script shoot.py is found in the user config dir (~/.config/papywizard2/ on linux, C:\Documents and settings\<user>\Application Data\papywizard2\ on windows), the following functions will be called, instead of internal ones:

mirrorLockup(stabilizationDelay)
shoot(bracketNumber)

Here is a simple example to call an external program from the python script:

Code: Select all
import subprocess

def mirrorLockup(stabilizationDelay):
    print "Mirror lockup (stabilizationDelay=%.1f)" % stabilizationDelay
    # See shoot() function


def shoot(bracketNumber):
    print "Shoot (bracketNumber=%d)" % bracketNumber

    # Launch external command
    #p = subprocess.Popen(["myTetheredShootingProgram", "-capture", "%d" % bracketNumber], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
    p = subprocess.Popen(["gphoto2", "--help"], stdin=subprocess.PIPE, stdout=subprocess.PIPE)

    # Send data to external command input
    #p.stdin.write("bla")

    # Wait end of external command execution
    p.wait()

    # Print external command return code
    print "returncode=%d" % p.returncode

    # Print external command output
    print p.stdout.read()
    #print p.stdout.readlines()
    #for line in p.stdout:
        #print line,

For more informations about the subprocess module usage, see:

http://www.python.org/doc/2.5.4/lib/node528.html
http://www.python.org/doc/2.5.4/lib/node532.html

If you think it is ok for your tests, I will package this version quickly...
Frédéric

no avatar
mediavets
Moderator
 
Posts: 16415
Likes: 2 posts
Liked in: 130 posts
Joined: Wed Nov 14, 2007 2:12 pm
Location: Isleham, Cambridgeshire, UK.
Info

by mediavets » Mon Mar 02, 2009 12:24 pm

fma38 wrote:If you think it is ok for your tests, I will package this version quickly...

Frederic,

This (Python script example) is quite beyond my understanding.

Have you been able to use this to run extended bracketing using Breeze DSLRPro with your Canon DSLR? If so can you document what one needs to do to get it all working?

The procedure to use DSLRPro from a command line can be found in the online manual under 'Running DSLR Remote Pro from other programs':

http://www.breezesys.com/DSLRRemotePro/help/index.html

............

I can only envisage how it might work at a conceptual level.

I imagine that, instead of triggering the shutter via the cable from the Merlin head, Papywizard would somehow call/trigger another program which controls the camera via USB to take the image(s) at each shooting position. Is this in tune with what you envisage?

For the Windows platform there seem to be two promising candidates for this 'other program'. Breeze DSLRPro for Canon DSLRs (and possibly some higher end Nikon DSLRs) and OxfordEye's Timelord for all Nikon DSLRs.

I have a Nikon D40 so can explore the Nikon option(s). Someone else will have to explore the Canon option, although there's a possibility that I could borrow a Canon 400D from a ftiend for a short time just for testing a possible solution.

Timelord (which uses the Nikon SDK) is still very much under development having only had an inital release in the last month. It will have a feature whereby all the parameters of a Timelord controlled shooting sequence are stored in a 'preset' file. This preset sequence might for example define the shooting of an extended exposure bracket sequence, optionally uploading the images to the host PC.

I had envisaged that it might be possible to have Timelord run from the command line with a preset file as a parameter, and to have Papywizard use this as a way to (indirectly) trigger the camera.

The author of Timelord thinks he can make Timelord work like this, although it doesn't at the moment. And you seem to have developed a method for Papywizard to make a command line call to run another program instead of triggering shooting via the Merlin head's camera port.

What eludes me is how to put these two things together in a reasonably user friendly way - the Python script example to beyond my understanding.
Last edited by mediavets on Mon Mar 02, 2009 12:26 pm, edited 1 time in total.
Andrew Stephens
Many different Nodal Ninja and Agnos pano heads. Merlin/Panogear mount with Papywizard on Nokia Internet tablets.
Nikon D5100 and D40, Sigma 8mm f3.5 FE, Nikon 10.5mm FE, 35mm, 50mm, 18-55mm, 70-210mm. Promote control.

User avatar
fma38
Moderator
 
Topic author
Posts: 5850
Likes: 2 posts
Liked in: 2 posts
Joined: Wed Dec 07, 2005 6:21 pm
Location: Grenoble, France
Info

by fma38 » Mon Mar 02, 2009 12:57 pm

Sorry, I don't have time to experiment with Windows softwares. The above script is really simple. All is done in this call:

p = subprocess.Popen(["gphoto2", "--help"], stdin=subprocess.PIPE, stdout=subprocess.PIPE)

Juste replace ["gphoto2", "--help"] by the command you need to launch. Here is a minimalistic example:

Code: Select all
import subprocess

def shoot(bracket):
    args = ["C:\\Program Files\\BreezeSys\\DSLR Remote Pro\DSLRRemoteTest.exe", "-n", "-o", "C:\\Photos"," "-q"]
    p = subprocess.Popen(args, stdout=subprocess.PIPE)
    p.wait()
    return p.returncode, p.stdout.read()

Note1: you don't have to implement both functions; if a function is not found, the internal one will be used instead.
Note2: I added a return value, which much contain the return code and the output of the command, so I can log them, to help the debugging process.


I'm sure you can understand and adapt this example ;) But feel free to ask for help.

PS: I added an entry in the doc:

http://trac.gbiloba.org/papywizard/wiki/UserGuideSvn#Tetheredshooting
Frédéric

no avatar
mediavets
Moderator
 
Posts: 16415
Likes: 2 posts
Liked in: 130 posts
Joined: Wed Nov 14, 2007 2:12 pm
Location: Isleham, Cambridgeshire, UK.
Info

by mediavets » Mon Mar 02, 2009 1:32 pm

Frederic,

OK I think I get it.

Sadly I can't test it yet as I don't have a Canon DSLR to test with Breeze DSLRpro and Timelord does not yet work from a command line.

Do you have it working working with gphoto under Linux?

.............

What I don't really understand, say with Timelord, if quite what would happen.

Would a new instance of the program be started each time the call was made from Papywizard? If so that's plainly not workable.

So I can communicate what's required to Todd Gibbs (the author of Timelord) maybe you can spell out in simple terms at a conceptual level what the external program would need to do to work with this scripting interface from Papywizard?

Or if you prefer to communicate with him directly (programmer to programmer) I'll email you his contact details.

FWIW this is what a very simple Timelord preset file looks like - this one just takes a shot every 3 seconds for a 100 seconds, after waiting for 5 seconds from when timer starts, and sends email notification if the shutter fails to fire:
Code: Select all
<Start>
  <UseStartTime>False</UseStartTime>
  <StartTime>02/03/2009 12:06:01</StartTime>
  <EndTime>02/03/2009 12:06:01</EndTime>
  <EmailNotifyType>2</EmailNotifyType>
  <EmailAddress>andrews@mediavets.co.uk</EmailAddress>
  <SubjectLine>timelord</SubjectLine>
  <MessageBody>test timelord</MessageBody>
  <TabPage>0</TabPage>
  <TabPageName>Shutter Release</TabPageName>
  <TextBox>TypeTextBox_0,Shutter Release</TextBox>
  <TextBox>StartTextBox_0,5</TextBox>
  <TextBox>IntervalTextBox_0,3</TextBox>
  <TextBox>DurationTextBox_0,100</TextBox>
  <ComboBox>MinValueComboBox_0</ComboBox>
  <SelectedIndex>-1</SelectedIndex>
  <ComboBox>MaxValueComboBox_0</ComboBox>
  <SelectedIndex>-1</SelectedIndex>
  <CreatePulse />
</Start>
Last edited by mediavets on Mon Mar 02, 2009 1:45 pm, edited 1 time in total.
Andrew Stephens
Many different Nodal Ninja and Agnos pano heads. Merlin/Panogear mount with Papywizard on Nokia Internet tablets.
Nikon D5100 and D40, Sigma 8mm f3.5 FE, Nikon 10.5mm FE, 35mm, 50mm, 18-55mm, 70-210mm. Promote control.

User avatar
fma38
Moderator
 
Topic author
Posts: 5850
Likes: 2 posts
Liked in: 2 posts
Joined: Wed Dec 07, 2005 6:21 pm
Location: Grenoble, France
Info

by fma38 » Mon Mar 02, 2009 1:57 pm

mediavets wrote:OK I think I get it.

:)

Sadly I can't test it yet as I don't have a Canon DSLR to test with Breeze DSLRpro and Timelord does not yet work from a command line.

I see...

Do you have it working working with gphoto under Linux?

I didn't make tests yet. I will, before releasing this feature, to see if all works fine. I will also test my intelligent bracketing script ;)

Would a new instance of the program be started each time the call was made from Papywizard? If so that's plainly not workable.

Yes, a new process is started each time. Why do you say it is not workable? As I wait for the end of the execution, there will be only one process at a time. Breeze DSLRpro works this way when launched with command line params, I think...

So I can communicate what's required to Todd Gibbs (the author of Timelord) maybe you can spell out in simple terms at a conceptual level what the external program would need to do to work with this scripting interface from Papywizard?

Ask him to come and discuss here, it will be easier. To make it short, we just need to be able to launch the software like Breeze DSLRpro, giving some parameters on command-line, and eventually get back something on the output (stdout, and on stderr in case of problem). The process should return 0 if all is OK, or any other integer value if a problem occurs.

There are other ways to communicate with a software already running in memory, using ActiveX or so, but I'm not familiar with such windows stuff, and it changes from system to system. And it will require much more devs to implement.
Frédéric

User avatar
fma38
Moderator
 
Topic author
Posts: 5850
Likes: 2 posts
Liked in: 2 posts
Joined: Wed Dec 07, 2005 6:21 pm
Location: Grenoble, France
Info

by fma38 » Mon Mar 02, 2009 1:58 pm

BTW, I changed a little bit the returned values. To be sure to be up-to-date, always look at:

http://trac.gbiloba.org/papywizard/wiki/UserGuideSvn#Tetheredshooting
Frédéric

no avatar
mediavets
Moderator
 
Posts: 16415
Likes: 2 posts
Liked in: 130 posts
Joined: Wed Nov 14, 2007 2:12 pm
Location: Isleham, Cambridgeshire, UK.
Info

by mediavets » Mon Mar 02, 2009 2:33 pm

fma38 wrote:
mediavets wrote:Would a new instance of the program be started each time the call was made from Papywizard? If so that's plainly not workable.

Yes, a new process is started each time. Why do you say it is not workable? As I wait for the end of the execution, there will be only one process at a time. Breeze DSLRpro works this way when launched with command line params, I think...

OK - so the external program will have to load, run according to parameters in command line, return some 'OK/not OK' code (not sure whow that's done) and then shut down again each time Papwizard triggers it?

Is that correct?

These third-party Windows programs take up some time to load and establish comms. via USB with the camera. I reckon in the case of Timelord it takes about 5-15 secs. on a P4 WinXP system with a 7200 RPM disk - it would take longer on a laptop with slower drive and less RAM I guess.

So that's going to add quite a lot of time to a pano shoot?

It seems to me that what would be better is to load the external program once and then just trigger it to run the pre-programmed sequence again each time Papywizard triggered it.

I can see the the appeal of a 'universal' cross-platform metheod of communicating to external programs but I question how realistc this is if one want the process to be transparent and efficient.

AFAIK there are no external programs that control cameras available on Mac OSX, and Nokia Tablets won't support USB; so that leaves two platforms, Windows and Linux on desktop/laptop PCs. The vast majority of users will be using Windows for which the best selection of established external camera control programs (and camera SDKs) exists.

I'm not a programmer, but it seems to me that perhaps this function will be better implemented as platform specific (or even program specific) for Windows, and for Linux?

If we can make it very simple for thrid party programmers to understand what they would need to do to make their programs work alongside Papywizard then they are more likely to be willing to undertake that development. It's small market opportunity and they won't want to spend a lot of time on it. In other words we need them rather more than they need us - or so it seems to me.

This could be challenging as in your case you are most comfortable programming in Python on Linux and I expect they are most comfortable programming in some variant of C on Windows. :(
Last edited by mediavets on Mon Mar 02, 2009 3:00 pm, edited 1 time in total.
Andrew Stephens
Many different Nodal Ninja and Agnos pano heads. Merlin/Panogear mount with Papywizard on Nokia Internet tablets.
Nikon D5100 and D40, Sigma 8mm f3.5 FE, Nikon 10.5mm FE, 35mm, 50mm, 18-55mm, 70-210mm. Promote control.

User avatar
fma38
Moderator
 
Topic author
Posts: 5850
Likes: 2 posts
Liked in: 2 posts
Joined: Wed Dec 07, 2005 6:21 pm
Location: Grenoble, France
Info

by fma38 » Mon Mar 02, 2009 3:02 pm

What takes a lot of time is to build the GUI. Launching a program which only runs into memory, without user interface is much faster. The first time can be longer, but then, once it is in memory, next calls are fast.

Breeze DSLRpro provides a DLL. A python wrapper can be build on top of it without too much problems. And it will maybe faster to load. But the exe is maybe very fast too. If someone can make a test...

In any case, from my point of view, I will just call a python object (which will be a plugin), like in this example. Then, from that object, several things can be done: using subprocess module, creating a python module (in C) on top of a DLL, using a socket to read/write commands on an already running program, using ActiveX... On linux, it can be dBus, or IPC...

And for MacOS, I think gphoto2 can be complied without too much problem, as it only uses standard libs.
Frédéric

no avatar
mediavets
Moderator
 
Posts: 16415
Likes: 2 posts
Liked in: 130 posts
Joined: Wed Nov 14, 2007 2:12 pm
Location: Isleham, Cambridgeshire, UK.
Info

by mediavets » Mon Mar 02, 2009 4:13 pm

fma38 wrote:What takes a lot of time is to build the GUI. Launching a program which only runs into memory, without user interface is much faster. The first time can be longer, but then, once it is in memory, next calls are fast.

Breeze DSLRpro provides a DLL. A python wrapper can be build on top of it without too much problems. And it will maybe faster to load. But the exe is maybe very fast too. If someone can make a test...

In any case, from my point of view, I will just call a python object (which will be a plugin), like in this example. Then, from that object, several things can be done: using subprocess module, creating a python module (in C) on top of a DLL, using a socket to read/write commands on an already running program, using ActiveX...

OK - so it looks as if what I should ask Todd Gibbs (author of Timelord) to consider is producing a variant with no GUI that can be called from within memory.

Like you, he has a fulltime job - head of development with a games developer - so he may not be willing to do it. OTOH If it's not too diffcult maybe...

I'll see if I can encourage him to iin this thread so we can all get a better idea of what may (or may not) be possible/doable.
Andrew Stephens
Many different Nodal Ninja and Agnos pano heads. Merlin/Panogear mount with Papywizard on Nokia Internet tablets.
Nikon D5100 and D40, Sigma 8mm f3.5 FE, Nikon 10.5mm FE, 35mm, 50mm, 18-55mm, 70-210mm. Promote control.

no avatar
loddie
Member
 
Posts: 18
Likes: 0 post
Liked in: 0 post
Joined: Sat Feb 21, 2009 6:12 pm
Info

by loddie » Mon Mar 02, 2009 7:02 pm

Pine Tree Computing offers camera control software for Olympus cameras:

http://www.pinetreecomputing.com/camctl.asp

Olympus Studio also offers control, but it would probably be difficult to get Olympus to adapt their software for PW. However, a developer SDK can be downloaded:

http://developer.olympus.com/cameras.html

PreviousNext

Who is online

Users browsing this forum: No registered users and 1 guest

cron