Hi,

I am working on a project that utilizes hugin as one of its use-cases.
The idea is to distribute the execution of the hugin-generated makefile
rules among several machines. One of the goals is that the user intervention
necessary to achieve this should be minimal. At my current state, this means
editing the hugin-generated makefile. The amount of editing required largely
depends on whether a shared file system is used or not.


1) If the distributed computation uses shared filesystem (all the input
and output files live in the same directory with the same absolute path
among all participating machines) then editing the makefile
requires little work (but still requires).

All that is necessary here is to substitute the relevant the
hugin-generated command names.
Example (using nona, but also implies other commands such as enblend,
enfuse, ..):
(makefile contents)
NONA=nona

(substitution)
NONA=myRemoteNona

Here, myRemoteNona will be a simple shell script that actually logs into some
available remote machine and invokes the "nona" program (passing it all of its
given arguments).

My intent here would be to avoid the need to edit the makefile.
Simply:
- take the ~/.hugin configuration file and set NonaExe to myRemoteNona
- invoke hugin, add photos, define control points, .., generate makefile
- the generated makefile would contain NONA=myRemoteNona instead of NONA=nona

However, I am not entirely convinced of this way. Maybe generating NONA?=nona
(a conditional assignment, only performed when the variable is not already set)
instead of NONA=nona into the makefile, thus being able to set NONA in
the shell environment prior to running the make.

Also, I have tried setting up NonaExe in the ~/.hugin configuration
file, only to discover
that hugin overwrites it everytime it is run (using version 0.7.0.3427).


2) When shared filesystem is not used then, obviously, input and output
files have to be copied among machines during the execution of a
particular rule.
It is therefore not sufficient to simply substitute the relevant
hugin-generated command
names as in the first scenario. Basically, I have to edit the makefile
rules so that
my substitute commands (like myRemoteNona) receive all the necessary
input file names
on the command like before the actual arguments (like arguments to nona).

To me, the solution here (to avoid the need to edit each and every
generated makefile)
would be to be able to specify additional arguments to nona (like for autopano)
in the ~/.hugin configuration file.
Example:
NonaArgs=%I --

Here, the %I would be replaced with all input files necessary to execute
a particular makefile rule. The -- would delimit them from the actual
nona arguments.


That all said, can I somehow avoid editing the generated makefile
(without having
to modify hugin) and perform the distributed computation?


Tomas Klacko

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"hugin and other free panoramic software" group.
A list of frequently asked questions is available at: 
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/hugin-ptx
-~----------~----~----~----~------~----~------~--~---

Reply via email to