autopano-sift is a graphics module that is used for the stitching of digital photos. It is mono based. Reproducible: Always Steps to Reproduce: 1. 2. 3.
Created attachment 46547 [details, diff] ebuild for autopano-sift Mostly "hotheads" ebuild. See http://forums.gentoo.org/viewtopic.php?t=251842&highlight=autopanosift in forums. Version 2.1 of autopano-sift. Should be under media-gfx.
Ick, fix that global scope export please. Should be in pkg_setup...
1) Use the mono eclass to avoid this MONO_SHARED_DIR problem. 2) As much as possible, *.exe should avoid going into /usr/bin. *.dll *definitely* shouldn't be there. Please see how muine or blam handle the placement of their files.
Created attachment 46558 [details] new release of 2.1 ebuild New ebuild of autopano-sift: 21 Dec 2004; seddes <destraub2002@yahoo.com> autopano-sift-2.1-r1.ebuild, autopano-sift : Changed MONO_SHARED_DIR to importing the mono eclass, changed install directory to /usr/lib/autopano-sift, added shell script "autopano-sift" that is installed in bin (to be placed in "files" in the ebuild directory)
Created attachment 46560 [details] shell script for /usr/bin to execute mono & autopanog.exe shell script to be placed in bin. For ebuild, should be placed in files directory.
Created attachment 46561 [details] ChangeLog ChangeLog
Created attachment 46680 [details] r2 of autopano-sift-2.1 r2 of autopano-sift-2.1 ebuild. Updates LICENSE, installs docs.
Just a small note for some people to save you some time. If you have the nptl USE flag enabled, just disable it for autopano-sift. If you use nptl, it will require gcc-3.4 for mono, which is required by autopano-sift.
Created attachment 47597 [details] autopano-sift-2.1-r3.ebuild Got rid of some madness in the SRC_URI Download the script manually and put in the ./files dir relative to the ebuild.
This is an amazing program. You have to see it to believe it.
Tested fine for me, works great.
Created attachment 48723 [details] autopano-sift-2.2.ebuild Updated autopano-sift ebuild. -version bump to 2.2 -changed COPYING file to LICENSE -tested
Hello panorama enthusiasts, I am proud to announce a new version of autopano-sift, version 2.2. It adds a refining step for the keypoints found in which a small part of the original sized image is extracted for high precision matching (think "auto-refine" of hugin on steroids ;-) . For the best matching results possible. As always its available from http://cs.tu-berlin.de/~nowozin/autopano-sift/ However, I have not gotten around to include the feature into the Windows GUI, sorry (if somebody wants to help with that, patches are welcome). The refinement is only available on the command line and from the Gtk# GUI. Here is the CHANGES.txt: autopano-sift 2.2, libsift 1.7 2005/01/15 + Add best quality refinement of control point matches. To enable this, run autopano.exe with "--refine". Note that the original image files need to be available. Further information available in the manpage. (So far its not available in the native Windows GUI). + Add options to autopanog, the Gtk# GUI. + Update documentation. Enjoy, Sebastian Nowozin <nowozin@cs.tu-berlin.de>
Created attachment 48727 [details] autopano-sift-2.2.ebuild Added new dependancy: libgdiplus
Should this be assigned to graphics?
CCing them, in case they have more time than I for things like this. David: until mono is more pervasive, most mono consuming apps get assigned to dotnet herd, as we're used to the problems involved with these apps. If i find time this week, i'll get this guy into portage.
Just to confirm, 2.2 worked fine for me. Stitched 5 photos with autopano-sift, hugin, and enblend.
Great package. All worked fine except the new refinement step which sometimes failed with: Refining keypoints ... Unhandled Exception: System.Exception: BUG: less than three neighbours! in <0x0036f> MultiMatch:BuildGlobalMatchList () in <0x000f2> MultiMatch:TwoPatchMatch (System.Collections.ArrayList,int,int,System.Collections.ArrayList,int,int,bool) in <0x00836> Autopano:RefineKeypoints (System.Collections.ArrayList,bool,bool) in <0x00a92> Autopano:Main (string[]) This could be worked around by either increasing the --maxmatches number or using the --refine-by-mean option.
Created attachment 48994 [details] generic script to run autopano-sift utilities Runs mono on autopano-sift binaries with arguments quoted. For ebuild to follow, should be placed in files/autopano.
Created attachment 48996 [details] autopano-sift-2.2-r1.ebuild Modified to Install autopano-complete.sh. Make utilities easier to run with symlinks in /usr/bin to generic script. Not install ICSharpCode.SharpZipLib.dll as this is provided by mono. Not install autopano-win32.exe. Install the binaries compiled from source instead of the prebuilt binaries. I changed the gui to be run with autopanog instead of autopano-sift because I thought it was more consistent with the man page.
The 2.2-r1 ebuild creates /usr/bin/autopanog, but this is a symlink pointing to /usr/bin/autopano that is not installed by the ebuild! $ etcat -f =autopano-sift-2.2-r1|grep -i bin /usr/bin /usr/bin/generatekeys /usr/bin/autopano-complete.sh /usr/bin/autopanog $ ls -al /usr/bin/autopanog lrwxrwxrwx 1 root root 8 Feb 25 09:29 /usr/bin/autopanog -> autopano the solution is to create /usr/bin/autopano with the "generic script to run autopano-sift utilities" attachment, but i think the ebuild should do that. bye
Comment #21, there is another file called "generic script to run autopano-sift utilities" in the list of attachments that you need to download and put in /usr/local/portage/.../autopano-sift/files. It is the script you describe. I also missed this the first time and the ebuild doesn't die if it is missing (which is a bug I think). Since its only a 1 liner, I think the ebuild should just create the appropriate script rather then putting another file in the portage tree.
Created attachment 52341 [details] autopano-sift-2.2-r1.ebuild I agree with Comment #22 that the ebuild should create the script to run mono on autopano-sift utilities (if we need one) rather than have another file in portage for everyone to sync. Modified the ebuild to do this.
mono dep should change to dev-lang instead of dev-dotnet.
Created attachment 54724 [details] autopano-sift-2.2-r1.ebuild changed dev-dotnet/mono to dev-lang/mono
I am trying to use this ebuild (2.2-r1) on an amd64 system. and I am getting an error during compile. I have mono 1.1.5, gtk-sharp 1.0.8, glade-sharp 1.0.8, libgdiplus 1.1.5 installed. Any ideas? There is my emerge output: snip >>> Source unpacked. mcs /debug /unsafe /target:library /out:libsift.dll \ ImageMap.cs KDTree.cs ScaleSpace.cs SimpleMatrix.cs ImageMatchModel.cs RANSAC.cs Transform.cs LoweDetector.cs GaussianConvolution.cs KeypointXML.cs MatchKeys.cs BondBall.cs AreaFilter.cs /pkg:gtk-sharp /r:System.Drawing /r:ICSharpCode.SharpZipLib KDTree.cs(448) warning CS0219: The variable 'nearest' is assigned but its valueis never used KDTree.cs(573) warning CS0219: The variable 'nearest' is assigned but its valueis never used BondBall.cs(241) warning CS0219: The variable 'unknownFile' is assigned but itsvalue is never used Compilation succeeded - 3 warning(s) make -C util all make[1]: Entering directory `/var/tmp/portage/autopano-sift-2.2-r1/work/autopano-sift-2.2/src/util' mcs /debug /unsafe /out:autopano.exe Autopano.cs \ DrawingPrimitives.cs BasicImagingInterface.cs GUIImage-Drawing.cs \ /r:../libsift.dll /r:System.Drawing /define:USING_GTK /pkg:gtk-sharp /pkg:glade-sharp DrawingPrimitives.cs(66) warning CS0219: The variable 'sign' is assigned but its value is never used Compilation succeeded - 1 warning(s) mcs /debug /unsafe /out:showone.exe ShowOne.cs DrawingPrimitives.cs BasicImagingInterface.cs GUIImage.cs /r:../libsift.dll /r:System.Drawing /define:USING_GTK /pkg:gtk-sharp /pkg:glade-sharp DrawingPrimitives.cs(66) warning CS0219: The variable 'sign' is assigned but its value is never used Compilation succeeded - 1 warning(s) mcs /debug /unsafe /out:showtwo.exe ShowTwo.cs DrawingPrimitives.cs BasicImagingInterface.cs GUIImage.cs /r:../libsift.dll /r:System.Drawing /define:USING_GTK /pkg:gtk-sharp /pkg:glade-sharp DrawingPrimitives.cs(66) warning CS0219: The variable 'sign' is assigned but its value is never used Compilation succeeded - 1 warning(s) mcs /debug /unsafe /out:generatekeys.exe GenerateKeys.cs \ DrawingPrimitives.cs BasicImagingInterface.cs GUIImage.cs /r:../libsift.dll /r:System.Drawing /define:USING_GTK /pkg:gtk-sharp /pkg:glade-sharp DrawingPrimitives.cs(66) warning CS0219: The variable 'sign' is assigned but its value is never used Compilation succeeded - 1 warning(s) mv generatekeys.exe generatekeys-gtk.exe make -C . systemdrawing=yes generatekeys.exe make[2]: Entering directory `/var/tmp/portage/autopano-sift-2.2-r1/work/autopano-sift-2.2/src/util' mcs /debug /unsafe /out:generatekeys.exe GenerateKeys.cs \ DrawingPrimitives.cs BasicImagingInterface.cs GUIImage-Drawing.cs /r:../libsift.dll /r:System.Drawing DrawingPrimitives.cs(66) warning CS0219: The variable 'sign' is assigned but its value is never used Compilation succeeded - 1 warning(s) make[2]: Leaving directory `/var/tmp/portage/autopano-sift-2.2-r1/work/autopano-sift-2.2/src/util' mv generatekeys.exe generatekeys-sd.exe mv generatekeys-gtk.exe generatekeys.exe make -C autopanog all make[2]: Entering directory `/var/tmp/portage/autopano-sift-2.2-r1/work/autopano-sift-2.2/src/util/autopanog' mcs /debug /unsafe -out:autopanog.exe -main:Autopanog autopanog.cs \ -resource:autopanog.glade \ ../BasicImagingInterface.cs ../GUIImage-Drawing.cs ../DrawingPrimitives.cs ../Autopano.cs /pkg:gtk-sharp /pkg:glade-sharp /resource:image-bottom-left.png /resource:image-bottom-right.png /resource:image-vanilla.png /r:System.Drawing.dll /r:../../libsift.dll autopanog.cs(89) warning CS0219: The variable 'test' is assigned but its value is never used autopanog.cs(130) warning CS0219: The variable 'test' is assigned but its valueis never used autopanog.cs(167) warning CS0219: The variable 'test' is assigned but its valueis never used ../DrawingPrimitives.cs(66) warning CS0219: The variable 'sign' is assigned butits value is never used Compilation succeeded - 4 warning(s) make[2]: Leaving directory `/var/tmp/portage/autopano-sift-2.2-r1/work/autopano-sift-2.2/src/util/autopanog' make -C autopano-win32 all make[2]: Entering directory `/var/tmp/portage/autopano-sift-2.2-r1/work/autopano-sift-2.2/src/util/autopano-win32' mcs -main:autopano_sift_winGUI.Form1 \ -r:System.dll -r:System.Data.dll -r:System.Drawing.dll \ -r:System.Windows.Forms.dll -r:System.Xml.dll \ -r:ICSharpCode.SharpZipLib.dll \ -r:../../libsift.dll \ -target:winexe -out:autopano-win32.exe \ -resource:Form1.resx,autopano_sift_winGUI.Form1.resx -resource:FormProcess.resx,autopano_sift_winGUI.FormProcess.resx \ AssemblyInfo.cs ../Autopano.cs ../BasicImagingInterface.cs Form1.cs FormProcess.cs ../GUIImage-Drawing.cs Form1.cs(43) error CS0234: The type or namespace name `ErrorProvider' could notbe found in namespace `System.Windows.Forms' Compilation failed: 1 error(s), 0 warnings make[2]: *** [autopano-win32.exe] Error 1 make[2]: Leaving directory `/var/tmp/portage/autopano-sift-2.2-r1/work/autopano-sift-2.2/src/util/autopano-win32' make[1]: *** [all] Error 2 make[1]: Leaving directory `/var/tmp/portage/autopano-sift-2.2-r1/work/autopano-sift-2.2/src/util' make: *** [utils] Error 2 !!! ERROR: media-gfx/autopano-sift-2.2-r1 failed. !!! Function src_compile, Line 25, Exitcode 2 !!! compiling failed !!! If you need support, post the topmost build error, NOT this status message.
Same thing here (and amd64 too). But the error is related to a "autopano-win32" thing the makefile wants to build... Since gentoo is a linux system, I removed the offending lines from the makefile and voila, autopanog is available on amd64 :) I added to src_compile(): sed -i "s/^.*win32.*$//" util/Makefile (after the cd ${S}/src line).
Created attachment 55779 [details] autopano-sift-2.3.ebuild Please test and then add to portage. I've tested this version and it works for me.
At last, this new version is usable with a screen resolution smaller than 1280x1024! As for the "autopano-win32" compile problem on amd64, i think it doesn't appear on x86 with the help of dev-dotnet/winelib (since the error is related to Windows.Forms). But with the makefile tweak it runs quite well.
Comment on attachment 52341 [details] autopano-sift-2.2-r1.ebuild autopano-sift-2.3 resolves the "less than three neighbours" issue mentioned in Comment #18 (for at least one case that failed with 2.2).
The amd64 compile error happens when trying to build the byte code. The simplest way around this is to simply copy the byte code from the bin directory in the autopano-sift tarball to someplace in the path. After all this byte code is the same no matter where it is being run. Both 2.2 and 2.3 have worked fine after doing this. I have not tried installing dev-dotnet/winelib so I do not know if this works on amd64. Perahps some other amd64 person could try the ebuild after installing dev-dotnet/winelib. There are a number of amd64 users on the hugin list that have the whole suite of tools running in 64bit mode including at least 2 Gentoo users. This includes autopano-sift, hugin, nona, PTOptimizer and enblend. The only thing that does not work in 64 bit mode is PTStitcher which is only available as a 32 bit binary. I have it running in 32 bit mode. The biggest hang up getting autopano-sift running is getting the correct versions of mono and related installed. I have mono-1.1.5, libgdiplus-1.1.5, gtk-sharp-1.0.8 and glade-sharp-1.0.8. All of these are masked for amd64 or hard masked for all archs but appear to work fine. At the time I installed these they were the latest versions. Versions of mono <1.1 do not correctly support the amd64.
When emerging autopano-sift-2.3, I got the same error as in Comment 26. Using: mono 1.1.6-r1 libgdiplus-1.1.5 gtk-sharp-1.0.8 glade-sharp-1.0.8 (I'm on x86) Then I followed the directions in Comment 27, and it worked! Thanks a lot!
Added to the tree. Thanks everyone.
There is one glitch in the current ebuild: autopano-sift requires an unstable version of libgdiplus to downscale images for processing. libgdiplus 1.1.11 worked fine for me. However the currently stable version 1.1.8 made generatekeys crash here.
Hope you don't mind Mark (please revbump if you think it's necessary): 13 Feb 2006; Marcelo Goes <> autopano-sift-2.4.ebuild: Depend on >=libgdiplus-1.1.11. Thanks to Hans Oischinger <hans dot oischinger at arcor dot de> in bug 75192.