I'm working on a rather large stitch that is taking some time to
complete and noticed that hugin doesn't pass the --compression setting
to enfuse - at least when using the .mk file to do the stitching.  In
the preferences screen it says not to set the --compression arguments
for both enblend or enfuse as these are set by hugin.  If you look in
the .mk file it's set for enblend but not enfuse.  Setting this does
make a large difference in stitching speed - along with turning off
exiftool so it's not run after every enblend/enfuse running.

For a smaller test stitch that's 50MP in size by setting --compression
for enfuse and turning off exiftool I've decreased the stitching time
from 95 mins to 64 mins.  This is on a quad-core Core2 machine with
8GB of memory running Slackware64.

For even larger stitches it should make an even bigger difference.
The stitch I was working on when I noticed this is 250MP in size.
There are 151 stack_ldr files, each almost 1G in size (1001M).  If you
stop to think about the data to/from the drive, that's a lot of data.
151 of these files at 1G in size, that's 151G right there.  That's
151G written to the drive when they are first created by enfuse.  Then
exiftool reads in 151G of data to attach the exif data and then writes
out that 151G of data.  Then later enblend will read in all 151G of
data to blend those stack_ldr files together.  So that's 604G of data
moving back and forth to the drive.

By setting --compression to PACKBITS for enfuse the stack_ldr files
shrink down to around 100M, about 1/10 of the non-compressed stack_ldr
files.  If we also set EXIFTOOL to 'false' in the .mk file then
exiftool doesn't have to read and write out the data.  So making these
changes enfuse will write out roughly 15G of data that enblend then
later reads in.  We've gone from moving 604G of data to/from the drive
down to 30G of data.  Pretty big improvment.

A couple improvements for hugin would be nice to see:
1) hugin should set the --compression argument for enfuse also like it
does enblend
2) should exiftool be set so it's only run on the final output file
instead of after every run of enblend/enfuse?

As a further optimization, this would require more work, if enfuse
output a stack_ldr file that was cropped to only contain the important
data that would save space too.  Could put an exif tag in the file to
tell enfuse or enblend later on where that portion actually belongs in
the full-size version.

-- 
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