GIGASTART(1)

πŸ“¦
version 0.29 Β· 2 versions
, in fedora 43

πŸ’– GIGASTART(1) πŸ’–

okay so bestie, welcome to gigastart β€” it's from the User Contributed Perl Documentation corner of the world, and it's here to assemble multi-row panoramas. yes, like the big ones. the huge ones. we're talking 200 photos. we're talking a whole grid. let's go πŸ¦‹


✨ NAME ✨

gigastart β€” assemble multi-row panoramas 🌈


πŸŽ€ SYNOPSIS πŸŽ€

gigastart [options] image1 image2 [...]

 Options:
  -o | --output name    Filename of created Makefile. Otherwise defaults
                        to 'Makefile'
  -v | --fov            Horizontal field of view in degrees.  Otherwise
                        will be calculated from EXIF info.
  -h | --help           Outputs help documentation.

so basically you hand it a list of images, and it hands you back a Makefile. that's the whole vibe. πŸ’…


🌸 DESCRIPTION 🌸

okay so here's the tea: gigastart takes a list of image files and creates a Makefile containing rules to generate a single panorama from the images. one panorama. out of all of them. iconic.

it utilises a multi-step strategy, and when I say multi-step I mean she has a plan:

  1. Consecutive pairs of photos are linked into one or more chains.
  2. Photos from the ends of each chain are linked if possible.
  3. Photos are placed in a rough grid with approximate positions.
  4. overlapping images with no links are linked if possible.
  5. Positions are optimised
lowkey that's the whole pipeline, and honestly? she ate. πŸ“

✨ the advantages (aka why this approach slaps) ✨

the number of connections checked is directly proportional to the number of images, so a 200 photo panorama should take twice as long as a 100 photo panorama. linear scaling bestie, we love to see it. πŸ‘‘

different shooting strategies are supported: multi-row, zig-zag, middle-top-bottom row-ordering, different number of photos in each row, multiple angle-of-view. whatever chaotic way you shot your photos, she's not gonna judge. 🫢

feature points are only identified once per photo and are reused. no redundant work. no wasted effort. main character efficiency. ⭐

the process is very suited to parallel processing, simply set the maximum number of processes by redefining the $MAKE built-in variable, e.g:

make MAKE='make -j 16'

each step and photo pair is written as an intermediate .pto project, so any problems can be fixed at this level, rerunning make will only repeat work required to integrate those changes β€” the entire process does not need to be rerun. that's right, no full re-run, you just patch what broke and keep it moving. πŸ’œ


😭 the disadvantage (we gotta be honest) 😭

a disadvantage is that features are identified by generatekeys and matched by autopano from the autopano-sift-C package. these features are saved in a verbose XML file format which adds a significant IO overhead, a future improvement could be to use a different caching format for these files.

not me reading "significant IO overhead" and feeling it in my soul πŸ’€ it's fine. it's fine. it's a known thing. it's on the list.

πŸ’… LICENSE πŸ’…

this program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. free as in freedom, bestie. periodt. ✨


πŸ‘‘ SEE ALSO πŸ‘‘

go click it. iykyk. 🌸


πŸ¦‹ AUTHOR πŸ¦‹

Bruno Postle β€” December 2009. an absolute legend, fr fr. πŸŽ€


okay that's the whole page!! and one last cute sign-off because you deserve it: this lil doc is hanging out with perl v5.42.0, dated 2025-07-25 πŸ’– go make something enormous, bestie 🌈

πŸ“¦ where this page comes from