<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.panotools.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.panotools.org/api.php?action=feedcontributions&amp;user=Dedalus&amp;feedformat=atom</id>
		<title>PanoTools.org Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.panotools.org/api.php?action=feedcontributions&amp;user=Dedalus&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/Special:Contributions/Dedalus"/>
		<updated>2013-05-23T14:19:26Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.0</generator>

	<entry>
		<id>http://wiki.panotools.org/Hugin_SDK_(MSVC_2008)_Patches</id>
		<title>Hugin SDK (MSVC 2008) Patches</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/Hugin_SDK_(MSVC_2008)_Patches"/>
				<updated>2009-08-11T22:17:35Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: directions to add glut&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''The current SVN version of hugin depends not only on this SDK but also on glut, see [http://groups.google.com/group/hugin-ptx/msg/5bfc12ee00c5ac3c?hl=en this message] for directions how to add glut to your installation of the SDK.'''&lt;br /&gt;
&lt;br /&gt;
This is the list of changes from source distributions that need to be made to get the [[Hugin SDK (MSVC 2008)|Hugin SDK compiled using Microsoft Visual Studio 2008 Express Edition]], which is a precondition to compiling Hugin on Windows.&lt;br /&gt;
&lt;br /&gt;
The changes listed here apply to both 32-bit and 64-bit versions of the Hugin SDK. In addition, all of the diff files supplied performed an additional step of converting the projects to have two platforms supported (Win32 and x64), although this is not a necessary step if you're only compiling on Win32.&lt;br /&gt;
&lt;br /&gt;
Changes that were specific to x64 are not documented explicitly in here, because they would essentially be the same as the diff files supplied, as they were purely source changes.&lt;br /&gt;
&lt;br /&gt;
The most recent version of the files can be obtained at [https://sourceforge.net/tracker/download.php?group_id=77506&amp;amp;atid=550443&amp;amp;file_id=334027&amp;amp;aid=2789320 https://sourceforge.net/tracker/?func=detail&amp;amp;aid=2789320&amp;amp;group_id=77506&amp;amp;atid=550443]&lt;br /&gt;
== wxWidgets ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\wxWidgets-2.8.10\include\wx\msw\setup.h&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Search for following line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define wxUSE_GLCANVAS       0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and replace it by&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define wxUSE_GLCANVAS       1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\wxWidgets-2.8.10\src\jpeg\jpeglib.h&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Search for following line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;../src/jpeg/jconfig.h&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and replace it by&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;jconfig.h&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\wxWidgets-2.8.10\src\tiff\tiffconf.h&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Search for following line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef COMPRESSION_SUPPORT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and extend it to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define TIF_PLATFORM_CONSOLE 1&lt;br /&gt;
#ifndef COMPRESSION_SUPPORT&lt;br /&gt;
#define ZIP_SUPPORT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OpenEXR ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open solution file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\OpenEXR\ilmbase-1.0.1\vc\vc8\IlmBase\IlmBase.sln&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The Visual Studio Conversion Wizard dialog appears. Click Next, select option No, click Next and Finish. Unselect the option &amp;quot;Show the conversion log when the wizard is closed&amp;quot; and click Close&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Due to the fact that the Visual Studio solutions of OpenEXR are configured to build dynamic libraries, some modifications are necessary to build the required static libraries:&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For each project in Solution Explorer open the Property Pages dialog by choosing Project &amp;gt; Properties. Process the following steps for Debug and Release configuration. Some of the properties are not avaliable in every project, thus continue with next step. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; General. For Configuration Type property choose Static Library (.lib) if Dynamic Library (.dll) was selected.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; C/C++ &amp;gt; Preprocessor. In the Preprocessor Definitions entry remove defines &amp;lt;tt&amp;gt;OPENEXR_DLL&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;_USRDLL&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*_EXPORTS&amp;lt;/tt&amp;gt; (all with suffix &amp;lt;tt&amp;gt;_EXPORTS&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; C/C++ &amp;gt; Code Generation. For Runtime Library property choose Multithreaded-Debug (/MTd) in Debug configuration and Multithreaded (/MT) in Release configuration.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; C/C++ &amp;gt; Code Generation. For Enable Enhanced Instruction Set property choose Not Set.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; Build Events &amp;gt; Post-Build Event. In Command Line entry remove the &amp;lt;tt&amp;gt;createDLL&amp;lt;/tt&amp;gt; command, but keep the &amp;lt;tt&amp;gt;install*.cmd&amp;lt;/tt&amp;gt; command. For example in createDLL project only the statement &amp;quot;&amp;lt;tt&amp;gt;..\..\..\installCreateDLL.cmd $(IntDir)&amp;lt;/tt&amp;gt;&amp;quot; should remain, in Half project only &amp;quot;&amp;lt;tt&amp;gt;..\..\..\installHalf.cmd $(IntDir)&amp;lt;/tt&amp;gt;&amp;quot; etc.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Close Property Pages dialog&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;(64-bit) Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open solution file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\OpenEXR\openexr-1.6.1\vc\vc8\OpenEXR\OpenEXR.sln&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The Visual Studio Conversion Wizard dialog appears. Click Next, select option No, click Next and Finish. Unselect the option &amp;quot;Show the conversion log when the wizard is closed&amp;quot; and click Close&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;For project IlmImf do the same configuration property changes as in IlmBase solution described above&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Right-click IlmImf in Solution Explorer, and then choose Properties from shortcut menu&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In the Property Pages dialog do the following for Debug and Release configuration:&amp;lt;br/&amp;gt;&lt;br /&gt;
Choose Configuration Properties &amp;gt; C/C++ &amp;gt; General. In Additional Include Directory entry enter following additional include directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
..\..\..\..\..\..\wxWidgets-2.8.10\src\zlib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;(64-bit) Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enblend/Enfuse/libxmi ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\enblend-enfuse-3.2\enblend_msvc2008.sln&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose &amp;quot;File&amp;quot; &amp;gt; &amp;quot;New Project&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;For the path, give it &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\libxmi&amp;lt;/tt&amp;gt; and the name of libxmi&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In the Solution Explorer, select the new libxmi project&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose &amp;quot;Project&amp;quot; &amp;gt; &amp;quot;Add Existing Item&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Navigate to &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\libxmi&amp;lt;/tt&amp;gt; and select all the .c and .h files&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click OK&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\libxmi\sys-defines.h&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Change the line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;config.h&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to read&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;config.h&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Close the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\libxmi\config.h&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Change the line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define HAVE_VALUES_H 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to read&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* #undef HAVE_VALUES_H */&lt;br /&gt;
#define HAVE_STRERROR 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save and Close the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;padding:5px; text-align:left&amp;quot; | Note&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:5px; text-align:left&amp;quot; | Pure ASM isn't supported when compiling x64, so an SSE4/SSE4.1 intrinsics replacement is used instead, which x64 machines will support.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== expat ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\expat-2.0.1\Source\expat.dsw&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
A  Visual C++ Project conversion dialog appears. Click &amp;quot;Yes To All&amp;quot;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;(64-bit) Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== exiv2 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open solution file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\exiv2-0.18.1\msvc\exiv2.sln&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The Visual Studio Conversion Wizard dialog appears. Click Next, select option No, click Next and Finish. Unselect the option &amp;quot;Show the conversion log when the wizard is closed&amp;quot; and click Close&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Right-click exiv2lib in Solution Explorer, and then choose Properties from the shortcut menu&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;In the Property Pages dialog do the following for the Debug and Release Configuration, selecting All Platforms&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; C/C++ &amp;gt; General. In Additional Include Directories entry replace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
../../../zlib-1.2.3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
by&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
../../../wxWidgets-2.8.10/src/zlib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;(64-bit) Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Close Property Pages dialog&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== glew ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\glew\build\vc6\glew.dsw&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
A Visual C++ Project conversion dialog appears. Click &amp;quot;Yes To All&amp;quot;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;(64-bit) Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Panorama Tools ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open solution file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\libpano\pano13\libpano.sln&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The Visual Studio Conversion Wizard dialog appears. Click Next, select option No, click Next and Finish. Unselect the option &amp;quot;Show the conversion log when the wizard is closed.&amp;quot; and click Close&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Software:Hugin]]&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/Hugin_SDK_(MSVC_2008)_Patches</id>
		<title>Hugin SDK (MSVC 2008) Patches</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/Hugin_SDK_(MSVC_2008)_Patches"/>
				<updated>2009-05-14T12:58:12Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: add a interwiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the list of changes from source distributions that need to be made to get the [[Hugin SDK (MSVC 2008)|Hugin SDK compiled using Microsoft Visual Studio 2008 Express Edition]], which is a precondition to compiling Hugin on Windows.&lt;br /&gt;
&lt;br /&gt;
The changes listed here apply to both 32-bit and 64-bit versions of the Hugin SDK. In addition, all of the diff files supplied performed an additional step of converting the projects to have two platforms supported (Win32 and x64), although this is not a necessary step if you're only compiling on Win32.&lt;br /&gt;
&lt;br /&gt;
Changes that were specific to x64 are not documented explicitly in here, because they would essentially be the same as the diff files supplied, as they were purely source changes.&lt;br /&gt;
&lt;br /&gt;
The most recent version of the files can be obtained at [http://sourceforge.net/tracker/download.php?group_id=77506&amp;amp;atid=550443&amp;amp;file_id=326306&amp;amp;aid=2789320 http://sourceforge.net/tracker/download.php?group_id=77506&amp;amp;atid=550443&amp;amp;file_id=326306&amp;amp;aid=2789320]&lt;br /&gt;
== wxWidgets ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\wxWidgets-2.8.10\include\wx\msw\setup.h&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Search for following line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define wxUSE_GLCANVAS       0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and replace it by&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define wxUSE_GLCANVAS       1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\wxWidgets-2.8.10\src\jpeg\jpeglib.h&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Search for following line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;../src/jpeg/jconfig.h&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and replace it by&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;jconfig.h&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\wxWidgets-2.8.10\src\tiff\tiffconf.h&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Search for following line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef COMPRESSION_SUPPORT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and extend it to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define TIF_PLATFORM_CONSOLE 1&lt;br /&gt;
#ifndef COMPRESSION_SUPPORT&lt;br /&gt;
#define ZIP_SUPPORT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OpenEXR ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open solution file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\OpenEXR\ilmbase-1.0.1\vc\vc8\IlmBase\IlmBase.sln&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The Visual Studio Conversion Wizard dialog appears. Click Next, select option No, click Next and Finish. Unselect the option &amp;quot;Show the conversion log when the wizard is closed&amp;quot; and click Close&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Due to the fact that the Visual Studio solutions of OpenEXR are configured to build dynamic libraries, some modifications are necessary to build the required static libraries:&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For each project in Solution Explorer open the Property Pages dialog by choosing Project &amp;gt; Properties. Process the following steps for Debug and Release configuration. Some of the properties are not avaliable in every project, thus continue with next step. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; General. For Configuration Type property choose Static Library (.lib) if Dynamic Library (.dll) was selected.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; C/C++ &amp;gt; Preprocessor. In the Preprocessor Definitions entry remove defines &amp;lt;tt&amp;gt;OPENEXR_DLL&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;_USRDLL&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*_EXPORTS&amp;lt;/tt&amp;gt; (all with suffix &amp;lt;tt&amp;gt;_EXPORTS&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; C/C++ &amp;gt; Code Generation. For Runtime Library property choose Multithreaded-Debug (/MTd) in Debug configuration and Multithreaded (/MT) in Release configuration.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; C/C++ &amp;gt; Code Generation. For Enable Enhanced Instruction Set property choose Not Set.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; Build Events &amp;gt; Post-Build Event. In Command Line entry remove the &amp;lt;tt&amp;gt;createDLL&amp;lt;/tt&amp;gt; command, but keep the &amp;lt;tt&amp;gt;install*.cmd&amp;lt;/tt&amp;gt; command. For example in createDLL project only the statement &amp;quot;&amp;lt;tt&amp;gt;..\..\..\installCreateDLL.cmd $(IntDir)&amp;lt;/tt&amp;gt;&amp;quot; should remain, in Half project only &amp;quot;&amp;lt;tt&amp;gt;..\..\..\installHalf.cmd $(IntDir)&amp;lt;/tt&amp;gt;&amp;quot; etc.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Close Property Pages dialog&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;(64-bit) Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open solution file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\OpenEXR\openexr-1.6.1\vc\vc8\OpenEXR\OpenEXR.sln&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The Visual Studio Conversion Wizard dialog appears. Click Next, select option No, click Next and Finish. Unselect the option &amp;quot;Show the conversion log when the wizard is closed&amp;quot; and click Close&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;For project IlmImf do the same configuration property changes as in IlmBase solution described above&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Right-click IlmImf in Solution Explorer, and then choose Properties from shortcut menu&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In the Property Pages dialog do the following for Debug and Release configuration:&amp;lt;br/&amp;gt;&lt;br /&gt;
Choose Configuration Properties &amp;gt; C/C++ &amp;gt; General. In Additional Include Directory entry enter following additional include directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
..\..\..\..\..\..\wxWidgets-2.8.10\src\zlib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;(64-bit) Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enblend/Enfuse/libxmi ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\enblend-enfuse-3.2\enblend_msvc2008.sln&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose &amp;quot;File&amp;quot; &amp;gt; &amp;quot;New Project&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;For the path, give it &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\libxmi&amp;lt;/tt&amp;gt; and the name of libxmi&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In the Solution Explorer, select the new libxmi project&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose &amp;quot;Project&amp;quot; &amp;gt; &amp;quot;Add Existing Item&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Navigate to &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\libxmi&amp;lt;/tt&amp;gt; and select all the .c and .h files&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click OK&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\libxmi\sys-defines.h&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Change the line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;config.h&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
to read&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;config.h&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Close the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\libxmi\config.h&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Change the line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define HAVE_VALUES_H 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to read&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* #undef HAVE_VALUES_H */&lt;br /&gt;
#define HAVE_STRERROR 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save and Close the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;padding:5px; text-align:left&amp;quot; | Note&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:5px; text-align:left&amp;quot; | Pure ASM isn't supported when compiling x64, so an SSE4/SSE4.1 intrinsics replacement is used instead, which x64 machines will support.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== expat ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\expat-2.0.1\Source\expat.dsw&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
A  Visual C++ Project conversion dialog appears. Click &amp;quot;Yes To All&amp;quot;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;(64-bit) Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== exiv2 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open solution file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\exiv2-0.18.1\msvc\exiv2.sln&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The Visual Studio Conversion Wizard dialog appears. Click Next, select option No, click Next and Finish. Unselect the option &amp;quot;Show the conversion log when the wizard is closed&amp;quot; and click Close&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Right-click exiv2lib in Solution Explorer, and then choose Properties from the shortcut menu&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;In the Property Pages dialog do the following for the Debug and Release Configuration, selecting All Platforms&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; C/C++ &amp;gt; General. In Additional Include Directories entry replace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
../../../zlib-1.2.3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
by&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
../../../wxWidgets-2.8.10/src/zlib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;(64-bit) Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Close Property Pages dialog&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== glew ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\glew\build\vc6\glew.dsw&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
A Visual C++ Project conversion dialog appears. Click &amp;quot;Yes To All&amp;quot;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;(64-bit) Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Panorama Tools ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open solution file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\libpano\pano13\libpano.sln&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The Visual Studio Conversion Wizard dialog appears. Click Next, select option No, click Next and Finish. Unselect the option &amp;quot;Show the conversion log when the wizard is closed.&amp;quot; and click Close&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/Hugin_SDK_(MSVC_2008)/Patches</id>
		<title>Hugin SDK (MSVC 2008)/Patches</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/Hugin_SDK_(MSVC_2008)/Patches"/>
				<updated>2009-05-14T12:56:31Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: moved Hugin SDK (MSVC 2008)/Patches to Hugin SDK (MSVC 2008) Patches over redirect: revert - doesn't do the trick on this mediawiki installation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Hugin SDK (MSVC 2008) Patches]]&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/Hugin_SDK_(MSVC_2008)_Patches</id>
		<title>Hugin SDK (MSVC 2008) Patches</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/Hugin_SDK_(MSVC_2008)_Patches"/>
				<updated>2009-05-14T12:56:31Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: moved Hugin SDK (MSVC 2008)/Patches to Hugin SDK (MSVC 2008) Patches over redirect: revert - doesn't do the trick on this mediawiki installation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the list of changes from source distributions that need to be made to get the Hugin SDK compiled using Microsoft Visual Studio 2008 Express Edition, which is a precondition to compiling Hugin on Windows.&lt;br /&gt;
&lt;br /&gt;
The changes listed here apply to both 32-bit and 64-bit versions of the Hugin SDK. In addition, all of the diff files supplied performed an additional step of converting the projects to have two platforms supported (Win32 and x64), although this is not a necessary step if you're only compiling on Win32.&lt;br /&gt;
&lt;br /&gt;
Changes that were specific to x64 are not documented explicitly in here, because they would essentially be the same as the diff files supplied, as they were purely source changes.&lt;br /&gt;
&lt;br /&gt;
The most recent version of the files can be obtained at [http://sourceforge.net/tracker/download.php?group_id=77506&amp;amp;atid=550443&amp;amp;file_id=326306&amp;amp;aid=2789320 http://sourceforge.net/tracker/download.php?group_id=77506&amp;amp;atid=550443&amp;amp;file_id=326306&amp;amp;aid=2789320]&lt;br /&gt;
== wxWidgets ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\wxWidgets-2.8.10\include\wx\msw\setup.h&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Search for following line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define wxUSE_GLCANVAS       0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and replace it by&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define wxUSE_GLCANVAS       1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\wxWidgets-2.8.10\src\jpeg\jpeglib.h&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Search for following line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;../src/jpeg/jconfig.h&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and replace it by&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;jconfig.h&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\wxWidgets-2.8.10\src\tiff\tiffconf.h&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Search for following line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef COMPRESSION_SUPPORT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and extend it to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define TIF_PLATFORM_CONSOLE 1&lt;br /&gt;
#ifndef COMPRESSION_SUPPORT&lt;br /&gt;
#define ZIP_SUPPORT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OpenEXR ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open solution file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\OpenEXR\ilmbase-1.0.1\vc\vc8\IlmBase\IlmBase.sln&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The Visual Studio Conversion Wizard dialog appears. Click Next, select option No, click Next and Finish. Unselect the option &amp;quot;Show the conversion log when the wizard is closed&amp;quot; and click Close&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Due to the fact that the Visual Studio solutions of OpenEXR are configured to build dynamic libraries, some modifications are necessary to build the required static libraries:&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For each project in Solution Explorer open the Property Pages dialog by choosing Project &amp;gt; Properties. Process the following steps for Debug and Release configuration. Some of the properties are not avaliable in every project, thus continue with next step. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; General. For Configuration Type property choose Static Library (.lib) if Dynamic Library (.dll) was selected.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; C/C++ &amp;gt; Preprocessor. In the Preprocessor Definitions entry remove defines &amp;lt;tt&amp;gt;OPENEXR_DLL&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;_USRDLL&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*_EXPORTS&amp;lt;/tt&amp;gt; (all with suffix &amp;lt;tt&amp;gt;_EXPORTS&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; C/C++ &amp;gt; Code Generation. For Runtime Library property choose Multithreaded-Debug (/MTd) in Debug configuration and Multithreaded (/MT) in Release configuration.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; C/C++ &amp;gt; Code Generation. For Enable Enhanced Instruction Set property choose Not Set.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; Build Events &amp;gt; Post-Build Event. In Command Line entry remove the &amp;lt;tt&amp;gt;createDLL&amp;lt;/tt&amp;gt; command, but keep the &amp;lt;tt&amp;gt;install*.cmd&amp;lt;/tt&amp;gt; command. For example in createDLL project only the statement &amp;quot;&amp;lt;tt&amp;gt;..\..\..\installCreateDLL.cmd $(IntDir)&amp;lt;/tt&amp;gt;&amp;quot; should remain, in Half project only &amp;quot;&amp;lt;tt&amp;gt;..\..\..\installHalf.cmd $(IntDir)&amp;lt;/tt&amp;gt;&amp;quot; etc.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Close Property Pages dialog&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;(64-bit) Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open solution file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\OpenEXR\openexr-1.6.1\vc\vc8\OpenEXR\OpenEXR.sln&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The Visual Studio Conversion Wizard dialog appears. Click Next, select option No, click Next and Finish. Unselect the option &amp;quot;Show the conversion log when the wizard is closed&amp;quot; and click Close&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;For project IlmImf do the same configuration property changes as in IlmBase solution described above&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Right-click IlmImf in Solution Explorer, and then choose Properties from shortcut menu&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In the Property Pages dialog do the following for Debug and Release configuration:&amp;lt;br/&amp;gt;&lt;br /&gt;
Choose Configuration Properties &amp;gt; C/C++ &amp;gt; General. In Additional Include Directory entry enter following additional include directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
..\..\..\..\..\..\wxWidgets-2.8.10\src\zlib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;(64-bit) Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enblend/Enfuse/libxmi ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\enblend-enfuse-3.2\enblend_msvc2008.sln&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose &amp;quot;File&amp;quot; &amp;gt; &amp;quot;New Project&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;For the path, give it &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\libxmi&amp;lt;/tt&amp;gt; and the name of libxmi&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In the Solution Explorer, select the new libxmi project&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose &amp;quot;Project&amp;quot; &amp;gt; &amp;quot;Add Existing Item&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Navigate to &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\libxmi&amp;lt;/tt&amp;gt; and select all the .c and .h files&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click OK&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\libxmi\sys-defines.h&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Change the line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;config.h&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
to read&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;config.h&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Close the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\libxmi\config.h&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Change the line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define HAVE_VALUES_H 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to read&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* #undef HAVE_VALUES_H */&lt;br /&gt;
#define HAVE_STRERROR 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save and Close the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;padding:5px; text-align:left&amp;quot; | Note&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:5px; text-align:left&amp;quot; | Pure ASM isn't supported when compiling x64, so an SSE4/SSE4.1 intrinsics replacement is used instead, which x64 machines will support.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== expat ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\expat-2.0.1\Source\expat.dsw&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
A  Visual C++ Project conversion dialog appears. Click &amp;quot;Yes To All&amp;quot;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;(64-bit) Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== exiv2 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open solution file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\exiv2-0.18.1\msvc\exiv2.sln&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The Visual Studio Conversion Wizard dialog appears. Click Next, select option No, click Next and Finish. Unselect the option &amp;quot;Show the conversion log when the wizard is closed&amp;quot; and click Close&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Right-click exiv2lib in Solution Explorer, and then choose Properties from the shortcut menu&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;In the Property Pages dialog do the following for the Debug and Release Configuration, selecting All Platforms&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; C/C++ &amp;gt; General. In Additional Include Directories entry replace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
../../../zlib-1.2.3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
by&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
../../../wxWidgets-2.8.10/src/zlib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;(64-bit) Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Close Property Pages dialog&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== glew ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\glew\build\vc6\glew.dsw&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
A Visual C++ Project conversion dialog appears. Click &amp;quot;Yes To All&amp;quot;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;(64-bit) Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Panorama Tools ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open solution file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\libpano\pano13\libpano.sln&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The Visual Studio Conversion Wizard dialog appears. Click Next, select option No, click Next and Finish. Unselect the option &amp;quot;Show the conversion log when the wizard is closed.&amp;quot; and click Close&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/Hugin_SDK_(MSVC_2008)_Patches</id>
		<title>Hugin SDK (MSVC 2008) Patches</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/Hugin_SDK_(MSVC_2008)_Patches"/>
				<updated>2009-05-14T12:53:55Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: moved Hugin SDK (MSVC 2008) Patches to Hugin SDK (MSVC 2008)/Patches:&amp;amp;#32;magic trick with subpages to keep related pages connected&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the list of changes from source distributions that need to be made to get the Hugin SDK compiled using Microsoft Visual Studio 2008 Express Edition, which is a precondition to compiling Hugin on Windows.&lt;br /&gt;
&lt;br /&gt;
The changes listed here apply to both 32-bit and 64-bit versions of the Hugin SDK. In addition, all of the diff files supplied performed an additional step of converting the projects to have two platforms supported (Win32 and x64), although this is not a necessary step if you're only compiling on Win32.&lt;br /&gt;
&lt;br /&gt;
Changes that were specific to x64 are not documented explicitly in here, because they would essentially be the same as the diff files supplied, as they were purely source changes.&lt;br /&gt;
&lt;br /&gt;
The most recent version of the files can be obtained at [http://sourceforge.net/tracker/download.php?group_id=77506&amp;amp;atid=550443&amp;amp;file_id=326306&amp;amp;aid=2789320 http://sourceforge.net/tracker/download.php?group_id=77506&amp;amp;atid=550443&amp;amp;file_id=326306&amp;amp;aid=2789320]&lt;br /&gt;
== wxWidgets ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\wxWidgets-2.8.10\include\wx\msw\setup.h&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Search for following line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define wxUSE_GLCANVAS       0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and replace it by&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define wxUSE_GLCANVAS       1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\wxWidgets-2.8.10\src\jpeg\jpeglib.h&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Search for following line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;../src/jpeg/jconfig.h&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and replace it by&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;jconfig.h&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\wxWidgets-2.8.10\src\tiff\tiffconf.h&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Search for following line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef COMPRESSION_SUPPORT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and extend it to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define TIF_PLATFORM_CONSOLE 1&lt;br /&gt;
#ifndef COMPRESSION_SUPPORT&lt;br /&gt;
#define ZIP_SUPPORT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OpenEXR ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open solution file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\OpenEXR\ilmbase-1.0.1\vc\vc8\IlmBase\IlmBase.sln&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The Visual Studio Conversion Wizard dialog appears. Click Next, select option No, click Next and Finish. Unselect the option &amp;quot;Show the conversion log when the wizard is closed&amp;quot; and click Close&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Due to the fact that the Visual Studio solutions of OpenEXR are configured to build dynamic libraries, some modifications are necessary to build the required static libraries:&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For each project in Solution Explorer open the Property Pages dialog by choosing Project &amp;gt; Properties. Process the following steps for Debug and Release configuration. Some of the properties are not avaliable in every project, thus continue with next step. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; General. For Configuration Type property choose Static Library (.lib) if Dynamic Library (.dll) was selected.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; C/C++ &amp;gt; Preprocessor. In the Preprocessor Definitions entry remove defines &amp;lt;tt&amp;gt;OPENEXR_DLL&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;_USRDLL&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;*_EXPORTS&amp;lt;/tt&amp;gt; (all with suffix &amp;lt;tt&amp;gt;_EXPORTS&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; C/C++ &amp;gt; Code Generation. For Runtime Library property choose Multithreaded-Debug (/MTd) in Debug configuration and Multithreaded (/MT) in Release configuration.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; C/C++ &amp;gt; Code Generation. For Enable Enhanced Instruction Set property choose Not Set.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; Build Events &amp;gt; Post-Build Event. In Command Line entry remove the &amp;lt;tt&amp;gt;createDLL&amp;lt;/tt&amp;gt; command, but keep the &amp;lt;tt&amp;gt;install*.cmd&amp;lt;/tt&amp;gt; command. For example in createDLL project only the statement &amp;quot;&amp;lt;tt&amp;gt;..\..\..\installCreateDLL.cmd $(IntDir)&amp;lt;/tt&amp;gt;&amp;quot; should remain, in Half project only &amp;quot;&amp;lt;tt&amp;gt;..\..\..\installHalf.cmd $(IntDir)&amp;lt;/tt&amp;gt;&amp;quot; etc.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Close Property Pages dialog&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;(64-bit) Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open solution file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\OpenEXR\openexr-1.6.1\vc\vc8\OpenEXR\OpenEXR.sln&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The Visual Studio Conversion Wizard dialog appears. Click Next, select option No, click Next and Finish. Unselect the option &amp;quot;Show the conversion log when the wizard is closed&amp;quot; and click Close&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;For project IlmImf do the same configuration property changes as in IlmBase solution described above&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Right-click IlmImf in Solution Explorer, and then choose Properties from shortcut menu&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In the Property Pages dialog do the following for Debug and Release configuration:&amp;lt;br/&amp;gt;&lt;br /&gt;
Choose Configuration Properties &amp;gt; C/C++ &amp;gt; General. In Additional Include Directory entry enter following additional include directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
..\..\..\..\..\..\wxWidgets-2.8.10\src\zlib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;(64-bit) Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enblend/Enfuse/libxmi ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\enblend-enfuse-3.2\enblend_msvc2008.sln&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose &amp;quot;File&amp;quot; &amp;gt; &amp;quot;New Project&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;For the path, give it &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\libxmi&amp;lt;/tt&amp;gt; and the name of libxmi&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In the Solution Explorer, select the new libxmi project&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose &amp;quot;Project&amp;quot; &amp;gt; &amp;quot;Add Existing Item&amp;quot;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Navigate to &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\libxmi&amp;lt;/tt&amp;gt; and select all the .c and .h files&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Click OK&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\libxmi\sys-defines.h&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Change the line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;config.h&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
to read&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;config.h&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Close the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\libxmi\config.h&amp;lt;/tt&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Change the line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define HAVE_VALUES_H 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to read&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* #undef HAVE_VALUES_H */&lt;br /&gt;
#define HAVE_STRERROR 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save and Close the file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;padding:5px; text-align:left&amp;quot; | Note&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding:5px; text-align:left&amp;quot; | Pure ASM isn't supported when compiling x64, so an SSE4/SSE4.1 intrinsics replacement is used instead, which x64 machines will support.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== expat ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\expat-2.0.1\Source\expat.dsw&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
A  Visual C++ Project conversion dialog appears. Click &amp;quot;Yes To All&amp;quot;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;(64-bit) Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== exiv2 ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open solution file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\exiv2-0.18.1\msvc\exiv2.sln&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The Visual Studio Conversion Wizard dialog appears. Click Next, select option No, click Next and Finish. Unselect the option &amp;quot;Show the conversion log when the wizard is closed&amp;quot; and click Close&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Right-click exiv2lib in Solution Explorer, and then choose Properties from the shortcut menu&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;In the Property Pages dialog do the following for the Debug and Release Configuration, selecting All Platforms&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Choose Configuration Properties &amp;gt; C/C++ &amp;gt; General. In Additional Include Directories entry replace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
../../../zlib-1.2.3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
by&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
../../../wxWidgets-2.8.10/src/zlib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;(64-bit) Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Close Property Pages dialog&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== glew ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\glew\build\vc6\glew.dsw&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
A Visual C++ Project conversion dialog appears. Click &amp;quot;Yes To All&amp;quot;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;(64-bit) Add x64 Configuration&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Panorama Tools ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open solution file &amp;lt;tt&amp;gt;&amp;lt;SDKHOME&amp;gt;\libpano\pano13\libpano.sln&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
The Visual Studio Conversion Wizard dialog appears. Click Next, select option No, click Next and Finish. Unselect the option &amp;quot;Show the conversion log when the wizard is closed.&amp;quot; and click Close&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/Hugin_Compiling_Windows_with_SDK</id>
		<title>Hugin Compiling Windows with SDK</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/Hugin_Compiling_Windows_with_SDK"/>
				<updated>2008-08-17T15:11:09Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: /* Get Tools */ http://www.cmake.org/files/v2.6/cmake-2.6.1-win32-x86.exe new version ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article gives step-by-step instructions for building hugin from a source code snapshot using Visual C++ 2008 Express Edition and precompiled dependencies.  That is the recommended way to build hugin for Windows, and the only way that has worked for me.  It also shows how to build enblend 3, which hugin now requires, with the same tools.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a source snapshot of hugin is a transient stage in an incomplete and rapidly evolving package, so may have a short useful life, and will contain bugs and defects.  Your main purpose in building one should be to help find, report, and maybe correct some of those. &lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
The hugin build is based on cmake, a cross platform makefile generator.  On Windows, cmake can generate project files for various Microsoft Visual Studio toolsets, from the same specifications it uses to create makefiles on other platforms.  The current release (cmake 2.4.7) only supports VC 2003 and 2005; the unreleased 2.4.8 and the current development trunk (2.5) support VC 2008 too, so you will need one of those.&lt;br /&gt;
&lt;br /&gt;
Pablo has recently published an sdk containing all the support components needed to build hugin and enblend (and AutoPano-SIFT-C) on Windows.  Version 1 of the sdk has two flavors, one built with Visual C++ 2003 Express, the other with VC 2008 Express.  Version 2, which is more complete, is only for VC 2008 at present.&lt;br /&gt;
&lt;br /&gt;
If if you already have VC 2003 (and the corresponding Windows Platform SDK) installed you might want to try that.  Otherwise use VC 2008, which is currently available and easier to install because the Platform SDK is bundled.  You can install VC 2008 Express beside other Microsoft compiler versions, even professional ones, without damaging either toolset.  &lt;br /&gt;
The enblend source tree has projects for building with both the 2003 and 2008 tools (also 2005 but there is no sdk for that).&lt;br /&gt;
&lt;br /&gt;
The following instructions are for starting from scratch on a Windows PC without any software building tools installed.  If you already have some of these things installed, you will need to take care that the right tools and components are used.  It is vitally important that all object code is generated by the same compiler version and targeted to the same VC runtime library.&lt;br /&gt;
&lt;br /&gt;
The recommended Tortoise archive clients work through the Windows File Explorer: right-click a target directory and follow the popup menus.&lt;br /&gt;
&lt;br /&gt;
== Get Tools ==&lt;br /&gt;
&lt;br /&gt;
1) install Visual C++ 2008 Express&lt;br /&gt;
   http://www.microsoft.com/express/download/&lt;br /&gt;
&lt;br /&gt;
2) install cmake -- not the currently released version 2.4.7, but either&lt;br /&gt;
   version 2.4.8 (stable, works)&lt;br /&gt;
   [http://www.cmake.org/files/v2.4/cmake-2.4.8-RC-13-win32-x86.exe 2.4.8 link to a 404 page ... 17-Aug-2008]&lt;br /&gt;
   or version 2.5 (may not be stable)&lt;br /&gt;
   http://www.cmake.org/HTML/Download.html&lt;br /&gt;
   Pending release of 2.5, follow the link &amp;quot;nightly CVS binary&amp;quot; and download the .exe installer for a recent snapshot (cmake-2.5.20080117-win32-x86.exe worked for me).  &lt;br /&gt;
&lt;br /&gt;
   version 2.6.1 (untested)&lt;br /&gt;
   http://www.cmake.org/files/v2.6/cmake-2.6.1-win32-x86.exe&lt;br /&gt;
&lt;br /&gt;
3) install Tortoise CVS and SVN clients&lt;br /&gt;
   http://sourceforge.net/project/platformdownload.php?group_id=48103&lt;br /&gt;
   http://sourceforge.net/project/showfiles.php?group_id=138498&lt;br /&gt;
&lt;br /&gt;
== Get hugin SDK ==&lt;br /&gt;
&lt;br /&gt;
4) download the precompiled sdk&lt;br /&gt;
   http://hugin.panotools.org/sdk/MSVC/hugin_enblend_sdk_msvc2008_v2.7z&lt;br /&gt;
   unpack it into new directory huginbase with winrar or 7zip.&lt;br /&gt;
NOTE The version 1 sdks, which are zip files, lack the unix utilities (unxutils) required for hugin installaiton.  You get that at http://sourceforge.net/project/showfiles.php?group_id=9328.&lt;br /&gt;
&lt;br /&gt;
== Build enblend 3 ==&lt;br /&gt;
&lt;br /&gt;
5) check out enblend 3 source tree into huginbase.  Right click on huginbase in Windows Explorer and select &amp;quot;CVS Checkout...&amp;quot; from the popup menu.  Enter the following incantation into the CVSROOT: box in the resulting dialog and click OK. &lt;br /&gt;
   :pserver:anonymous@enblend.cvs.sourceforge.net:2401/cvsroot/enblend&lt;br /&gt;
If OK is grayed out, click Fetch list..., select enblend module and then click OK.&lt;br /&gt;
&lt;br /&gt;
The result should be a new directory, huginbase/enblend, containing the source tree.&lt;br /&gt;
&lt;br /&gt;
6)  open huginbase/enblend/enblend_msvc2008.sln with Visual Studio 2008 Express.  Change the target configuration to 'release' (build menu, configuration manager).  Click build solution.  After it completes, copy enblend/INSTALLDIR into huginbase/enblend-3.1/.  The hugin install script expects this directory. &lt;br /&gt;
&lt;br /&gt;
== Build hugin ==&lt;br /&gt;
&lt;br /&gt;
7) check out hugin source tree into huginbase.  Make a new folder called hugin inside huginbase. Right click on huginbase/hugin in Windows Explorer, select &amp;quot;SVN Checkout...&amp;quot;, enter this source URL, set target directory to &amp;quot;hugin&amp;quot; and click OK.&lt;br /&gt;
   https://hugin.svn.sourceforge.net/svnroot/hugin/hugin/trunk&lt;br /&gt;
&lt;br /&gt;
The result should be a new directory, huginbase/hugin, containing the source tree.  Write down the reported SVN revision number, you will need it later. &lt;br /&gt;
 &lt;br /&gt;
8) Start the cmake gui (cmakesetup.exe).  To ensure that the environment is set right, run cmakesetup.exe from the VC 2008 command shell (available under the Windows Start Menu) - essential if you have other compilers installed.  You might want to create a desktop shortcut that does this with one click.&lt;br /&gt;
&lt;br /&gt;
Set cmake's source code directory to huginbase/hugin and its build directory to huginbase/hugin-build (this will create a new directory for the build).  Click Configure and tell it to use Visual C++ 2008.  Cmake then checks the build tools and if that goes well does the first round of searching for components.  When done it displays a list of configuration variable settings, on a red background.  Click &amp;quot;Show Advanced Values&amp;quot; to display all of them.&lt;br /&gt;
 &lt;br /&gt;
This is when you get to correct anything that needs correcting.  First, set HUGIN_WC_REVISION to the SVN revision number (which should be automatic but currently is not on Windows). And set CMAKE_BUILD_TYPE to &amp;quot;Release&amp;quot;.  It is an error to leave HUGIN_WC_REVISION blank, and you will get a warning message later if CMAKE_BUILD_TYPE is &amp;quot;Debug&amp;quot;.  Heed it.&lt;br /&gt;
&lt;br /&gt;
Next, check that all component pathnames start at huginbase.  Cmake may have found some things installed in standard places on your system; but it should only be using the ones in the sdk.  To correct a pathname, click on it and either type in the right one or click '...' to pop a fileselector.  Look out for values with &amp;quot;_NOT_FOUND&amp;quot; in them; these may indicate problems with your directory names or structure. You will need to set ENBLEND_EXE_DIR to huginbase/enblend-3.1/INSTALLDIR that that was created when you built enblend. Also, you need to set HUGIN_BUILDER and HUGIN_BUILDATE -- this is you name and date of the build that will appear on application splash screen.&lt;br /&gt;
&lt;br /&gt;
When you are satisfied the paths are right, click Configure again, and  Cmake will try to validate the variables.  That might set some new ones, which will appear in red.  Recheck all values, even the grey ones. If a variable keeps coming up wrong try deleting it from cache (right click on name pops menu) and configure again; this is often necessary to trigger a new search.  Keep fixing and clicking Configure until everything is OK. Then click OK to generate the project files.&lt;br /&gt;
&lt;br /&gt;
9) Open hugin.sln in the build directory with Visual Studio 2008 Express and wait while it loads and checks all the projects.  Then select a target configuration and click &amp;quot;build solution&amp;quot;.  After a long time, and many warnings, you should get a successful build.&lt;br /&gt;
&lt;br /&gt;
10) Build the INSTALL project.  This should put a complete hugin installation in  huginbase/hugin-build/INSTALL/FILES.&lt;br /&gt;
  &lt;br /&gt;
NOTE any missing file stops the install script, leaving the installation more or less incomplete.  If this happens, first look at the install scripts, cmake_install.cmake (several places in the hugin-build tree) to identify all the files that were not found (paths with &amp;quot;_NOT_FOUND&amp;quot; in them).  If you can find all of them, put them where the install script expects them -- hugin/cmakemodules/winbundle.cmake will help indentify those places.  You can't just build INSTALL again, because the files are searched for at configuration time, so the install scripts will still contain invalid pathnames until you run cmakesetup again.  Exit Visual Studio first, since all project files must be rebuilt.  It may be necessary to delete pathnames of the failed places (such as enblend-3.1) from cache to ensure everything gets regenerated. Then Configure, OK, open the new hugin.sln and build INSTALL.&lt;br /&gt;
&lt;br /&gt;
== Updating the hugin build ==&lt;br /&gt;
&lt;br /&gt;
To update your source tree to to the latest revision, right click on huginbase/hugin in Windows Explorer and select &amp;quot;SVN Update&amp;quot;.  Remember to note the revision number.  &lt;br /&gt;
&lt;br /&gt;
Check if there is a new release of the sdk, and if so, download and install it.&lt;br /&gt;
&lt;br /&gt;
Then you have to run cmakesetup again.  Proceed as in 8) above, but click &amp;quot;Delete Cache&amp;quot; before &amp;quot;Configure&amp;quot;, so that the new configuration gets built from scratch.&lt;br /&gt;
&lt;br /&gt;
Remember to &amp;quot;Clean&amp;quot; or &amp;quot;Rebuild&amp;quot; the entire solution in MSVC.&lt;br /&gt;
&lt;br /&gt;
== Installing hugin on Windows ==&lt;br /&gt;
&lt;br /&gt;
Directory hugin-build/INSTALL/FILES contains a complete, self-contained hugin installation. You can use this as is, or copy it to a directory of your choice if you wish to delete the build tree (it is a good idea to put the  the SVN version number in the name of that directory. e.g. FILES becomes &amp;quot;hugin_0.7.0.2766&amp;quot;).  You should create a shortcut to hugin.exe on your desktop (note you can start new projects by dragging and dropping groups of files on the shortcut).  You may also want to associate the new hugin.exe with the hugin project file (.pto) file extension. &lt;br /&gt;
&lt;br /&gt;
This way of installing can be undone simply by deleting the files.  It will not break any other hugin installation that may be on your system.  However, note that all instances of hugin do share the same persistent settings, so options you set in one version will affect the others, too.&lt;br /&gt;
&lt;br /&gt;
The source tree and sdk contain support for building Windows Installer (.msi) packages with War Setup and/or Innosetup.  At present these are under development and could potentially damage your Registry and/or prior installations of hugin, so I would advise not using them until a stable release is issued.&lt;br /&gt;
&lt;br /&gt;
The hugin team periodically publishes &amp;quot;snapshot&amp;quot; builds for testing.  The Windows versions of these come in two forms, as a self-installing archive that automates the simple &amp;quot;copy files&amp;quot; method described above, and as a Windows Installer package.&lt;br /&gt;
&lt;br /&gt;
== Some things that don't work ==&lt;br /&gt;
&lt;br /&gt;
Trying to target the dll versions of the Visual C runtimes.  Only the static C libraries (libcmt, libcmtd) will do.  You can't mix static and dll runtimes, so all (static) dependencies must also have been compiled with /MT or /MTd.  While it might be possible to use dll versions of some of the support libraries, such as tiff or OpenEXR, it is safest to keep a strict policy of &amp;quot;static libraries only&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Trying to use dependencies built with a different compiler.  For all practical purposes, Microsoft runtime libraries are now usable with only one compiler version.  Although linking code built with more than one compiler sometimes seems to work, the resulting program is likely to fail.&lt;br /&gt;
&lt;br /&gt;
Trying to link Boost libraries of a different source version than the Boost headers.  Boost takes some trouble to lock object code to source version as well as compiler version, so it is rarely possible (and always a mistake) to do this.&lt;br /&gt;
&lt;br /&gt;
Occasionally a build step fails mysteriously, that has succeeded before.  The main cause of this is a file being marked in the Windows filesystem as in use when a tool tries to open it.  On a slow, heavily loaded machine, the filesystem may not update a closed file's status quickly enough -- solution: reduce the load.   On any machine, Google Desktop Search (or other automatic indexer) may grab a recently updated file and really have it open -- solution: pause or disable indexing and retry the build step.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;--[[User:Tksharpless|Tksharpless]] 16:42, 23 January 2008 (CET)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Software:Hugin]]&lt;br /&gt;
[[Category:Software:Platform:Windows]]&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/Talk:Hugin_Compiling_Windows_with_SDK</id>
		<title>Talk:Hugin Compiling Windows with SDK</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/Talk:Hugin_Compiling_Windows_with_SDK"/>
				<updated>2008-08-17T15:07:31Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: New section: 1) install Visual C++ 2008 Express&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TortoiseSVN has a tool called SubWCRev. Quoting from the help file: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
SubWCRev is Windows console program which can be used to read the status of a Subversion working copy and optionally perform keyword substitution in a template file. &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
SubWCRev reads the Subversion status of all files in a working copy, excluding externals by default. It records the highest commit revision number found, and the commit timestamp of that revision, It also records whether there are local modifications in the working copy, or mixed update revisions. &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
If you want SubWCRev to perform keyword substitution, so that fields like repository revision and URL are saved to a text file, you need to supply a template file SrcVersionFile and an output file DstVersionFile which contains the substituted version of the template. &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Full details can be found [http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-subwcrev.html here]&lt;br /&gt;
&lt;br /&gt;
Does anyone else think it is worth the effort to be incorporated into Windows build process? This will improve &amp;quot;fool-profeness&amp;quot; of test build, as the executable will always be traceable back to the SVN revision and one of CMake config parameters can be eliminated. I'm yet not proficient enough in the current toolchain to do this myself, but eager to help in testing, etc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;--[[User:MaximTee|MaximTee]] 17:50, 16 March 2008 (CET)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 1) install Visual C++ 2008 Express ==&lt;br /&gt;
&lt;br /&gt;
The Microsoft site asks to install Silverlight first. Done. After downloading Visual C++ 200 Express (vcsetup.exe) trying to install. Setup discovers (on my machine) a previous install of Visual Studio 2008 that must be updated to SP1 before installation can proceed. Trying to fetch that SP1 - estimated download time over 20 minutes on my relatively fast ADSL line. [[User:Dedalus|Dedalus]] 17:07, 17 August 2008 (CEST)&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/Talk:Build_pano12_from_sourcecode</id>
		<title>Talk:Build pano12 from sourcecode</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/Talk:Build_pano12_from_sourcecode"/>
				<updated>2008-08-16T22:40:37Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: checking for jpeg_read_header in -ljpeg... no&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Trying to build pano12 on Vista. I had to copy some .manifest files in the /bin directory to grant permission to run /bin/install.&lt;br /&gt;
The ./configure for libpano gets stuck with this error:&amp;lt;br&amp;gt;&lt;br /&gt;
checking for JPEG support ... &amp;lt;br&amp;gt;&lt;br /&gt;
configure: jpeg home set to /usr/local&amp;lt;br&amp;gt;&lt;br /&gt;
checking jpeglib.h usability... yes&amp;lt;br&amp;gt;&lt;br /&gt;
checking jpeglib.h presence... yes&amp;lt;br&amp;gt;&lt;br /&gt;
checking for jpeglib.h... yes&amp;lt;br&amp;gt;&lt;br /&gt;
checking for jpeg_read_header in -ljpeg... no&amp;lt;br&amp;gt;&lt;br /&gt;
checking for JPEG library is version 6b or later... yes&amp;lt;br&amp;gt;&lt;br /&gt;
checking if JPEG package is complete... no -- some components failed test&amp;lt;br&amp;gt;&lt;br /&gt;
configure: error:&amp;lt;br&amp;gt;&lt;br /&gt;
        the jpeg library must be installed on your system&amp;lt;br&amp;gt;&lt;br /&gt;
        but configure could not find it.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I can't figure out what is wrong .. Anyone an idea?&lt;br /&gt;
[[User:Dedalus|Dedalus]] 00:40, 17 August 2008 (CEST)&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/Talk:Lens_correction_model</id>
		<title>Talk:Lens correction model</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/Talk:Lens_correction_model"/>
				<updated>2008-07-16T11:00:51Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: /* Kannala and Brandt */ @Erik&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For (circular) fish eye lenses another way to model the lens (distortion) is:&lt;br /&gt;
r =  a sin (b*theta)&lt;br /&gt;
where r is the distance from the center of the camera image to the point of interest, theta is the angle between the central axis of&lt;br /&gt;
the fisheye lens and the line to the point of interest in the real image, a is a scale factor, in these cases to convert from angle&lt;br /&gt;
in space to millimeters in the image plane, and b is the radial mapping parameter. (It should be noted that b effects a very&lt;br /&gt;
strongly.) The theoretical fisheye map of r = a*theta is approached as b approaches zero. The perfect fish eye lens is F-Theta mapping so to say, while rectilinear lenses do f tan(theta) mapping.&lt;br /&gt;
&lt;br /&gt;
:We have a page about fisheye mapping as well: [[Fisheye Projection]] which mentions the sine mapping, too.&amp;lt;small&amp;gt;--[[User:Erik Krause|Erik Krause]] 21:02, 10 July 2008 (CEST)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I copied these ideas from: [http://www.360vr.com/fisheye41/coastal-fisheyep.pdf Fisheye lens designs and their relative performance] by  James “Jay” Kumler, Martin Bauer from Coastal Optical Systems and Internet Pictures Corporation.&lt;br /&gt;
&lt;br /&gt;
They've estimated a and b for example for the Peleng as 23.8 and 0.34 which would imply if my computations are correct a=0,001691363	b=-0,051282569	c=0,000469245	and (1-(a+b+c))=1,049118709 in the Fish eye quartic distortion model. However given parameters of the sinus model above with r in millimeters from the sensor of the image, that can be easily renormalized to pixels on a cropped sensor.&lt;br /&gt;
&lt;br /&gt;
The article cited discusses also &amp;quot;relative illumination&amp;quot; or vignetting as we speak. They have found this to be dependent on f-number, higher f-numbers producing greater uniformity, or less severe vignetting.&lt;br /&gt;
&lt;br /&gt;
== Kannala and Brandt ==&lt;br /&gt;
&lt;br /&gt;
Kannala and Brandt have researched correction models for fish eye lenses, see http://www.ee.oulu.fi/~jkannala/calibration/Kannala_Brandt_calibration.pdf&lt;br /&gt;
&lt;br /&gt;
:Interresting reading! However, panotools lens correction model already takes fisheye mapping into account. It works quite well. Even very non-standard mappings like the Nikkor 10.5 fisheye can be corrected. See [http://michel.thoby.free.fr/Blur_Panorama/Nikkor10-5mm_or_Sigma8mm/Sigma_or_Nikkor/Comparison_Short_Version_Eng.html] for details.&amp;lt;small&amp;gt;--[[User:Erik Krause|Erik Krause]] 21:02, 10 July 2008 (CEST)&amp;lt;/small&amp;gt;&lt;br /&gt;
::[[General lens model|Fish eye]] projections could be equidistance, equisolid angle or orthogonal. The Peleng is something in between equidistance and equisolid. I know panotools (hugin) handles fisheye mapping, that is, equidistance mapping. However, the panotools (hugin) lens correction model only takes radial distortion into account, not any tangential distortion due to misalignment of lens elements. I'll have a look at the paper you reference. [[User:Dedalus|Dedalus]] 13:00, 16 July 2008 (CEST)&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/Talk:Chromatic_aberration</id>
		<title>Talk:Chromatic aberration</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/Talk:Chromatic_aberration"/>
				<updated>2008-07-16T10:54:34Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: /* Great article on LCA/TCA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Strange Example==&lt;br /&gt;
In the strange example on the page are we perhaps seeing chromatic aberration of longer wavelength red (approaching near IR)? Most plants reflect a lot of longwave red (as made obvious in IR photographs of plants)... this would explain why correction for the plant would cause more problems for red elsewhere in the image. I'd only expect to see this if the error of the lens was fairly steep with respect to wavelength, but that wouldn't be shocking if the lens was designed for a sensor (film?) with less NIR response. --[[User:Gmaxwell|Gmaxwell]] 05:33, 30 October 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Great article on LCA/TCA ==&lt;br /&gt;
&lt;br /&gt;
I found http://www.vsg.dcu.ie/papers/prl_2007_chrom.pdf an article to measure and correct LCA/TCA chromatic aberration. Based on a fundamental model it measures CA on a test image (chess board pattern) to calibrate a lens. [[User:Dedalus|Dedalus]] 22:59, 6 July 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
:The upcoming [[hugin]] package will contain a tool to automatically determine TCA correction parameters ([[tca_correct]]) to be use with [[fulla]] to correct TCA. Unfortunately I don't know enough about it to write something... &amp;lt;small&amp;gt;--[[User:Erik Krause|Erik Krause]] 21:54, 10 July 2008 (CEST)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::As far as I know tca_correct only takes radial TCA into account, while the paper takes asymmetric distortion due to misalignment of lens elements into account as well (so called tangential distortion). [[User:Dedalus|Dedalus]] 12:54, 16 July 2008 (CEST)&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/General_lens_model</id>
		<title>General lens model</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/General_lens_model"/>
				<updated>2008-07-16T09:55:35Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: generic models&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;General lens model are based on mathematical descriptions of ideal projections.&lt;br /&gt;
In the radially symmetric models below theta (θ) is the angle between view ray and optical axis.&lt;br /&gt;
Next to the model name mathematical descriptions in three colums. Firstly the ideal projection, secondly a two parameter polynomial estimation using odd powers of theta only (based on Kannala and Brandt), thirdly a ''one'' parameter (catadioptric) model due to Ying and Hu. A rough estimate for the popular Peleng 8mm lens has been added, based on calibration by Kumler and Bauer.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| '''model name'''&lt;br /&gt;
| '''ideal projection'''&lt;br /&gt;
| &amp;lt;math&amp;gt;r = k_{1}\theta+k_{2}\theta^3&amp;lt;/math&amp;gt;&lt;br /&gt;
| &amp;lt;math&amp;gt; r = \frac {(l+1) \sin \theta}{l+\cos \theta}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| perspective projection(pinhole camera )&lt;br /&gt;
| &amp;lt;math&amp;gt;r =  f \tan \theta &amp;lt;/math&amp;gt;&lt;br /&gt;
| &amp;lt;math&amp;gt;r = \theta+\frac{1}{3}\theta^3&amp;lt;/math&amp;gt;&lt;br /&gt;
| &amp;lt;math&amp;gt; l = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| stereographic projection&lt;br /&gt;
| &amp;lt;math&amp;gt;r = 2 f \tan(\theta/2)&amp;lt;/math&amp;gt;&lt;br /&gt;
| &amp;lt;math&amp;gt;r = \theta+\frac{1}{12}\theta^3&amp;lt;/math&amp;gt;&lt;br /&gt;
| &amp;lt;math&amp;gt; l = 1 &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| equidistance projection&lt;br /&gt;
| &amp;lt;math&amp;gt;r = f&amp;lt;/math&amp;gt;&lt;br /&gt;
| 1&lt;br /&gt;
| &amp;lt;math&amp;gt; l =  &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Peleng&lt;br /&gt;
| &amp;lt;math&amp;gt;r = 3f \sin (\theta/3)&amp;lt;/math&amp;gt;&lt;br /&gt;
| &amp;lt;math&amp;gt;r = \theta-\frac{1}{54}\theta^3&amp;lt;/math&amp;gt;&lt;br /&gt;
| &amp;lt;math&amp;gt; l = \frac{19}{8} &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| quisolid angle projection&lt;br /&gt;
| &amp;lt;math&amp;gt;r = 2 f \sin(\theta/2)&amp;lt;/math&amp;gt;&lt;br /&gt;
| &amp;lt;math&amp;gt;r = \theta-\frac{1}{24}\theta^3&amp;lt;/math&amp;gt;&lt;br /&gt;
|| &amp;lt;math&amp;gt; l = \frac{527}{259} &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| orthogonal projection&lt;br /&gt;
| &amp;lt;math&amp;gt;r = f \sin (\theta)&amp;lt;/math&amp;gt;&lt;br /&gt;
| &amp;lt;math&amp;gt;r = \theta-\frac{1}{6}\theta^3&amp;lt;/math&amp;gt;&lt;br /&gt;
| &amp;lt;math&amp;gt; l = \infty &amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A ''one'' parameter generic lens model might be handy in optimizing panorama's for example [[hugin]] to have an independent initial check based on the control points of multiple images what kind of lens really is used, and providing an initial estimate for multiple parameter models, like the well known a, b, c [[lens correction model]]. The table above suggests to set a and c always to zero, and only use b, as a and c represent ''even'' powers.&lt;br /&gt;
&lt;br /&gt;
Apart from radial distortion of the ideal model - producing [[barrel distortion]] - most lenses will show tangential distortion, or asymmetric distortion, mainly due to not all elements in the lens being exactly aligned with the optical axis.&lt;br /&gt;
&lt;br /&gt;
==references==&lt;br /&gt;
[http://www.ee.oulu.fi/mvg/files/pdf/pdf_697.pdf Kannala and Brandt 1]&lt;br /&gt;
[http://www.ee.oulu.fi/~jkannala/publications/visapp2008.pdf K&amp;amp;B 2, citing Ying and Hu]&lt;br /&gt;
[http://www.360vr.com/fisheye41/coastal-fisheyep.pdf Kumler and Bauer]&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/General_lens_model</id>
		<title>General lens model</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/General_lens_model"/>
				<updated>2008-07-16T09:14:22Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: New page: General lens model are based on mathematical descriptions of ideal projections. In the radially symmetric models below theta (θ) is the angle between view ray and optical axis.  {| | '''m...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;General lens model are based on mathematical descriptions of ideal projections.&lt;br /&gt;
In the radially symmetric models below theta (θ) is the angle between view ray and optical axis.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| '''model name'''&lt;br /&gt;
| '''ideal projection'''&lt;br /&gt;
| &amp;lt;math&amp;gt;r = k_{1}\theta+k_{2}\theta^3&amp;lt;/math&amp;gt;&lt;br /&gt;
| &amp;lt;math&amp;gt; r = \frac {(l+1) \sin \theta}{l+\cos \theta}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| perspective projection(pinhole camera )&lt;br /&gt;
| &amp;lt;math&amp;gt;r =  f \tan \theta &amp;lt;/math&amp;gt;&lt;br /&gt;
| &amp;lt;math&amp;gt;r = \theta+\frac{1}{3}\theta^3&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| stereographic projection&lt;br /&gt;
| &amp;lt;math&amp;gt;r = 2 f \tan(\theta/2)&amp;lt;/math&amp;gt;&lt;br /&gt;
| &amp;lt;math&amp;gt;r = \theta+\frac{1}{12}\theta^3&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| equidistance projection&lt;br /&gt;
| &amp;lt;math&amp;gt;r = f&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| quisolid angle projection&lt;br /&gt;
| &amp;lt;math&amp;gt;r = 2 f \sin(\theta/2)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Peleng&lt;br /&gt;
| &amp;lt;math&amp;gt;r = f \sin (b\theta)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| orthogonal projection&lt;br /&gt;
| &amp;lt;math&amp;gt;r = f \sin (\theta)&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/Talk:Lens_correction_model</id>
		<title>Talk:Lens correction model</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/Talk:Lens_correction_model"/>
				<updated>2008-07-09T15:49:40Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: New section: Kannala and Brandt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For (circular) fish eye lenses another way to model the lens (distortion) is:&lt;br /&gt;
r =  a sin (b*theta)&lt;br /&gt;
where r is the distance from the center of the camera image to the point of interest, theta is the angle between the central axis of&lt;br /&gt;
the fisheye lens and the line to the point of interest in the real image, a is a scale factor, in these cases to convert from angle&lt;br /&gt;
in space to millimeters in the image plane, and b is the radial mapping parameter. (It should be noted that b effects a very&lt;br /&gt;
strongly.) The theoretical fisheye map of r = a*theta is approached as b approaches zero. The perfect fish eye lens is F-Theta mapping so to say, while rectilinear lenses do f tan(theta) mapping.&lt;br /&gt;
&lt;br /&gt;
I copied these ideas from: [http://www.360vr.com/fisheye41/coastal-fisheyep.pdf Fisheye lens designs and their relative performance] by  James “Jay” Kumler, Martin Bauer from Coastal Optical Systems and Internet Pictures Corporation.&lt;br /&gt;
&lt;br /&gt;
They've estimated a and b for example for the Peleng as 23.8 and 0.34 which would imply if my computations are correct a=0,001691363	b=-0,051282569	c=0,000469245	and (1-(a+b+c))=1,049118709 in the Fish eye quartic distortion model. However given parameters of the sinus model above with r in millimeters from the sensor of the image, that can be easily renormalized to pixels on a cropped sensor.&lt;br /&gt;
&lt;br /&gt;
The article cited discusses also &amp;quot;relative illumination&amp;quot; or vignetting as we speak. They have found this to be dependent on f-number, higher f-numbers producing greater uniformity, or less severe vignetting.&lt;br /&gt;
&lt;br /&gt;
== Kannala and Brandt ==&lt;br /&gt;
&lt;br /&gt;
Kannala and Brandt have researched correction models for fish eye lenses, see http://www.ee.oulu.fi/~jkannala/calibration/Kannala_Brandt_calibration.pdf&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/Talk:Lens_correction_model</id>
		<title>Talk:Lens correction model</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/Talk:Lens_correction_model"/>
				<updated>2008-07-08T21:55:45Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: r =  a sin (b*theta)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For (circular) fish eye lenses another way to model the lens (distortion) is:&lt;br /&gt;
r =  a sin (b*theta)&lt;br /&gt;
where r is the distance from the center of the camera image to the point of interest, theta is the angle between the central axis of&lt;br /&gt;
the fisheye lens and the line to the point of interest in the real image, a is a scale factor, in these cases to convert from angle&lt;br /&gt;
in space to millimeters in the image plane, and b is the radial mapping parameter. (It should be noted that b effects a very&lt;br /&gt;
strongly.) The theoretical fisheye map of r = a*theta is approached as b approaches zero. The perfect fish eye lens is F-Theta mapping so to say, while rectilinear lenses do f tan(theta) mapping.&lt;br /&gt;
&lt;br /&gt;
I copied these ideas from: [http://www.360vr.com/fisheye41/coastal-fisheyep.pdf Fisheye lens designs and their relative performance] by  James “Jay” Kumler, Martin Bauer from Coastal Optical Systems and Internet Pictures Corporation.&lt;br /&gt;
&lt;br /&gt;
They've estimated a and b for example for the Peleng as 23.8 and 0.34 which would imply if my computations are correct a=0,001691363	b=-0,051282569	c=0,000469245	and (1-(a+b+c))=1,049118709 in the Fish eye quartic distortion model. However given parameters of the sinus model above with r in millimeters from the sensor of the image, that can be easily renormalized to pixels on a cropped sensor.&lt;br /&gt;
&lt;br /&gt;
The article cited discusses also &amp;quot;relative illumination&amp;quot; or vignetting as we speak. They have found this to be dependent on f-number, higher f-numbers producing greater uniformity, or less severe vignetting.&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/Talk:Chromatic_aberration</id>
		<title>Talk:Chromatic aberration</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/Talk:Chromatic_aberration"/>
				<updated>2008-07-06T20:59:48Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: New section: Great article on LCA/TCA&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Strange Example==&lt;br /&gt;
In the strange example on the page are we perhaps seeing chromatic aberration of longer wavelength red (approaching near IR)? Most plants reflect a lot of longwave red (as made obvious in IR photographs of plants)... this would explain why correction for the plant would cause more problems for red elsewhere in the image. I'd only expect to see this if the error of the lens was fairly steep with respect to wavelength, but that wouldn't be shocking if the lens was designed for a sensor (film?) with less NIR response. --[[User:Gmaxwell|Gmaxwell]] 05:33, 30 October 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Great article on LCA/TCA ==&lt;br /&gt;
&lt;br /&gt;
I found http://www.vsg.dcu.ie/papers/prl_2007_chrom.pdf an article to measure and correct LCA/TCA chromatic aberration. Based on a fundamental model it measures CA on a test image (chess board pattern) to calibrate a lens. [[User:Dedalus|Dedalus]] 22:59, 6 July 2008 (CEST)&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/User_talk:Markdfink</id>
		<title>User talk:Markdfink</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/User_talk:Markdfink"/>
				<updated>2006-11-11T08:16:51Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: the call for volunteers for the moderator position?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;the call for volunteers for the moderator position&amp;quot; I got per e-mail is probably not for this wiki. [[User:Dedalus|Dedalus]] 09:16, 11 November 2006 (CET)&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/Fulla</id>
		<title>Fulla</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/Fulla"/>
				<updated>2006-09-11T19:52:55Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: /* Windows batch usage */ batch example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''fulla''' is a command-line tool distributed with [[hugin]] 0.6 and later.  It is suitable for batch correction of:&lt;br /&gt;
&lt;br /&gt;
* [[Chromatic aberration]]: See a full tutorial, [http://hugin.sourceforge.net/tutorials/tca/en.shtml Correcting TCA with hugin and fulla].&lt;br /&gt;
&lt;br /&gt;
* [[Lens correction model|Lens distortion]] such as [[barrel distortion]] or [[pincushion distortion]]:  '''fulla''' uses the same a, b, c and d parameters as other [[Panorama Tools]] derived programs.&lt;br /&gt;
&lt;br /&gt;
* [[Vignetting]]: polynomial correction by division, addition or flatfield images.   [[hugin]] contains a vignetting calculator that can use a series of overlapping photographs to determine the likely polynomial required to correct common vignetting problems.&lt;br /&gt;
&lt;br /&gt;
'''fulla''' can work with the same range of image types as [[nona]], including 8bit and 16bit [[TIFF]] and 32bit floating-point [[HDR]] TIFF data.&lt;br /&gt;
&lt;br /&gt;
== Command-line usage ==&lt;br /&gt;
&lt;br /&gt;
  Usage: fulla [options] inputfile(s)&lt;br /&gt;
  &lt;br /&gt;
    options are:&lt;br /&gt;
     -g a:b:c:d       Radial distortion coefficient for all channels, (a, b, c, d)&lt;br /&gt;
     -b a:b:c:d       Radial distortion coefficents for blue channel, (a, b, c, d)&lt;br /&gt;
                       this is applied on top of the -g distortion coefficients, use for TCA corr&lt;br /&gt;
     -r a:b:c:d       Radial distortion coefficents for red channel, (a, b, c, d)&lt;br /&gt;
                       this is applied on top of the -g distortion coefficients, use for TCA corr&lt;br /&gt;
     -f filename      Vignetting correction by flatfield division&lt;br /&gt;
                       I = I / c,    c = flatfield / mean(flatfield)&lt;br /&gt;
     -c a:b:c:d       radial vignetting correction by division:&lt;br /&gt;
                       I = I / c,    c = a + b*r2 + c*r4 + d*r6&lt;br /&gt;
     -a               Correct vignetting by addition, rather than by division&lt;br /&gt;
                       I = I + c&lt;br /&gt;
     -p               Try to read radial distortion coefficients (-g) from PTLens database&lt;br /&gt;
     -m Canon         Camera manufacturer, for PTLens database query&lt;br /&gt;
     -n Camera        Camera name, for PTLens database query&lt;br /&gt;
     -l Lens          Lens name, for PTLens database query&lt;br /&gt;
                       if not specified, a list of possible lenses is displayed&lt;br /&gt;
     -d 50            specify focal length in mm, for PTLens database query&lt;br /&gt;
     -t n             Number of threads that should be used during processing&lt;br /&gt;
     -h               Display help (this text)&lt;br /&gt;
     -o name          set output filename. If more than one image is given,&lt;br /&gt;
                       the name will be uses as suffix (default suffix: _corr)&lt;br /&gt;
     -v               Verbose&lt;br /&gt;
&lt;br /&gt;
== Windows batch usage ==&lt;br /&gt;
&lt;br /&gt;
Once you have calculated fulla parameters as described above, you can create a custom ''droplet''&lt;br /&gt;
for batch correcting photos like so:&lt;br /&gt;
&lt;br /&gt;
* Create a ''Shortcut to fulla.exe'' by dragging the '''fulla''' icon to another directory in Windows explorer&lt;br /&gt;
* Edit ''properties''&lt;br /&gt;
* Change the ''target'' to include your correction parameters:&lt;br /&gt;
&lt;br /&gt;
  &amp;quot;C:\Program Files\hugin\fulla.exe&amp;quot; -r 0:0:0.00056:1.00015 -b 0:0:-0.00026:1.0011 -c 1:0.20:-0.51:0.2&lt;br /&gt;
&lt;br /&gt;
* Rename the shortcut to something descriptive like ''fulla-peleng''&lt;br /&gt;
* Now you can correct photos by dragging and dropping them onto the icon&lt;br /&gt;
&lt;br /&gt;
Expanding on the above example is to create a batchfile in the hugin directory called &amp;quot;fulla.bat&amp;quot; containing the line:&lt;br /&gt;
 FOR %%I IN (%1) DO C:\Program Files\hugin\fulla.exe -p -v -l Standard %%1&lt;br /&gt;
Assuming the name of the lens in the PTLens Database (see below) is &amp;quot;Standard&amp;quot; (as most are). Now, upon calling from any directory containing pics you can run &amp;quot;C:\Program Files\hugin\fulla.bat *.jpg&amp;quot; having fulla correcting all pics using the parameters retrieved from the PTLens Database mentioned below (don't forget to SET PTLENS_PROFILE)&lt;br /&gt;
&lt;br /&gt;
== PTLens database lookup ==&lt;br /&gt;
&lt;br /&gt;
'''fulla''' will look-up your camera in a [[PTLens]] database and try to automatically determine [[Lens correction model|Lens correction parameters]] for your pictures.  An older free version of the database is required which can be [http://sourceforge.net/project/showfiles.php?group_id=77506&amp;amp;package_id=187932 downloaded from sourceforge].&lt;br /&gt;
&lt;br /&gt;
Use the PTLENS_PROFILE environment variable to specify the location of the PTLens database, for example on Linux or OS X:&lt;br /&gt;
&lt;br /&gt;
  PTLENS_PROFILE=$HOME/.ptlens/profile.txt&lt;br /&gt;
&lt;br /&gt;
On Windows something like this (untested) should work:&lt;br /&gt;
&lt;br /&gt;
  set PTLENS_PROFILE=%HOMEPATH%\PTLens\profile.txt&lt;br /&gt;
&lt;br /&gt;
[[Category:Software:Platform:Linux]]&lt;br /&gt;
[[Category:Software:Platform:Windows]]&lt;br /&gt;
[[Category:Software:Platform:Mac OS X]]&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/HP_Photosmart_M417</id>
		<title>HP Photosmart M417</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/HP_Photosmart_M417"/>
				<updated>2006-08-26T14:24:30Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: the other parameters&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A small 5 megapixel camera from Hewlett Packard.&lt;br /&gt;
Zoomlens 6.25 to 17.25 mm (though it advertises a 3x zoom).&lt;br /&gt;
The sensor is a factor 6.02 smaller than SLR film&lt;br /&gt;
Lensparameters:&lt;br /&gt;
{|&lt;br /&gt;
| '''focallength'''&lt;br /&gt;
| '''   a   '''&lt;br /&gt;
| '''   b   '''&lt;br /&gt;
| '''   c   '''&lt;br /&gt;
|-&lt;br /&gt;
| 6.25 mm &lt;br /&gt;
| +0.00000&lt;br /&gt;
| -0.01837&lt;br /&gt;
| +0.00000&lt;br /&gt;
|-&lt;br /&gt;
| 7.83 mm&lt;br /&gt;
| 0&lt;br /&gt;
| -0.00611&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| 9.37 mm&lt;br /&gt;
| 0&lt;br /&gt;
| -0.00523&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| 11.63 mm&lt;br /&gt;
| 0&lt;br /&gt;
| -0.00173&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| 13.97 mm&lt;br /&gt;
| 0&lt;br /&gt;
| -0.00074&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| 17.25 mm&lt;br /&gt;
| 0&lt;br /&gt;
| -0.00054&lt;br /&gt;
| 0&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/HP_Photosmart_M417</id>
		<title>HP Photosmart M417</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/HP_Photosmart_M417"/>
				<updated>2006-08-25T11:34:31Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: lensparameters&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A small 5 megapixel camera from Hewlett Packard.&lt;br /&gt;
Zoomlens 6.25 to 17.25 mm (though it advertises a 3x zoom).&lt;br /&gt;
The sensor is a factor 6.02 smaller than SLR film&lt;br /&gt;
Lensparameters:&lt;br /&gt;
{|&lt;br /&gt;
| '''focallength'''&lt;br /&gt;
| '''   a   '''&lt;br /&gt;
| '''   b   '''&lt;br /&gt;
| '''   c   '''&lt;br /&gt;
|-&lt;br /&gt;
| 6.25 mm &lt;br /&gt;
| 0&lt;br /&gt;
| -0.01837&lt;br /&gt;
| 0&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/Cameras</id>
		<title>Cameras</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/Cameras"/>
				<updated>2006-08-25T11:28:47Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List here your camera&lt;br /&gt;
----&lt;br /&gt;
[[HP Photosmart M417]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
OK - I guess I'll start :)&lt;br /&gt;
I've got 2 camera's, a [http://www.dpreview.com/reviews/specs/Pentax/pentax_optios.asp Pentax Optio S] for portability on long hikes and the like and a [http://www.dpreview.com/reviews/specs/Canon/canon_eos20d.asp Canon 20D] for everything else.  &lt;br /&gt;
&lt;br /&gt;
The Pentax shows minor barrel distortion at the widest side, so I have to correct for this a bit.  Here's an example from 15 images (3 mpix each) from the Pentax.  It's ~ 370 degrees by 45 degrees&lt;br /&gt;
&lt;br /&gt;
http://tautologous.com/gallery2/d/3540-6/bald_mountain_med.jpg&lt;br /&gt;
&lt;br /&gt;
The Canon 20D takes huge images (8 MPix) and thus the processing time and computer hardware requirements are a lot more.&lt;br /&gt;
&lt;br /&gt;
[[User:Jeff|Jeff]] 12:18, 10 Dec 2004 (EST)&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/Hugin_FAQ</id>
		<title>Hugin FAQ</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/Hugin_FAQ"/>
				<updated>2006-08-18T07:17:59Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: /* How do I straighten a curved horizon? */ typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General Questions ==&lt;br /&gt;
&lt;br /&gt;
== Control Point creation ==&lt;br /&gt;
&lt;br /&gt;
=== How do I add control points ===&lt;br /&gt;
The [[control points]] editor is quite powerful, but its usage is probably not obvious on the first try. Here are some ways the developers use the Control Point panel:&lt;br /&gt;
&lt;br /&gt;
1. Selecting control points in 100% zoom.&lt;br /&gt;
&lt;br /&gt;
This method needs some scrolling, if big images are used. You might want to try the fit to window zoom setting in that case. Switch to the Control Points tab, and use the following settings:&lt;br /&gt;
&lt;br /&gt;
 Zoom: 100%&lt;br /&gt;
 [X] auto fine tune&lt;br /&gt;
 [X] auto add&lt;br /&gt;
 [X] auto estimate&lt;br /&gt;
&lt;br /&gt;
Click on a prominent feature in the left image. If the image pair already contains control points, [[hugin]] will try to select the point in the other image. If its the first point in this pair, click near the same feature on the right image. The second point will be placed and fine tuned automatically. If you are not happy with the placement, both points can be moved by dragging them to a better position. Press the &amp;quot;f&amp;quot; key to fine tune the point in a small area.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Selecting control points in fit to window mode.&lt;br /&gt;
&lt;br /&gt;
I uses this mode if I need to set points on big images. Switch to the Control Points tab, and use the following settings:&lt;br /&gt;
&lt;br /&gt;
 Zoom: fit to window&lt;br /&gt;
 [X] auto fine tune&lt;br /&gt;
 [ ] auto add&lt;br /&gt;
 [X] auto estimate&lt;br /&gt;
&lt;br /&gt;
Click on left image. The image will be shown in 100% view. Within the detailed view, click on a prominent feature. If the image pair already contains control points, hugin will try to select the point in the other image. If its the first point in this pair, click near the same feature on the right image. The point will be placed and fine tuned automatically. If you are not happy with the placement, both points can be moved by clicking at the desired position. Move the point close to the desired feature and press the &amp;quot;f&amp;quot; key to fine tune the point. When the points are on the same feature, press the right mouse button, or press the &amp;quot;a&amp;quot; key to add the control point pair. It will then be shown in the list below the image.&lt;br /&gt;
&lt;br /&gt;
=== How do I scroll both images at the same time? ===&lt;br /&gt;
&lt;br /&gt;
Try pressing the shift key while moving the mouse. The control key or the middle mouse button can be used to scroll only the image under the mouse cursor.&lt;br /&gt;
&lt;br /&gt;
== Common problems when creating a panorama ==&lt;br /&gt;
&lt;br /&gt;
=== How do I straighten a curved horizon? ===&lt;br /&gt;
If the panorama looks nice but the horizon is curved, there are two ways to improve the image and straighten the horizon. First, try optimizing the view by selecting &amp;quot;Positions and View&amp;quot; as the optimization mode and run the optimizer afterwards. By clicking &amp;quot;Calculate Field of View&amp;quot; in the &amp;quot;Stitcher&amp;quot; tab and displaying the preview window afterwards you can check if the image has been improved.&lt;br /&gt;
&lt;br /&gt;
If it is still curved, you have to add vertical guide control points in the &amp;quot;Control Points&amp;quot; tab. Usually two [[vertical control points]] are enough to straighten the horizon nicely. Often edges of buildings, poles or other man made structures provide good vertical lines. To add a vertical control point, switch to the control point editor and select the same image on both sides. Place a control point on the left image on the upper area of the vertical feature. In the right image, select a control point on the lower area of the features, and press the Add button. Once the new point has been added, its type should automatically switch to &amp;quot;vertical line&amp;quot;. You might want to switch off the auto-add and auto-estimate options while doing this to avoid naggy dialogs while adding this guide points.&lt;br /&gt;
&lt;br /&gt;
Two points that are roughly 90 degrees apart provide the best effect.&lt;br /&gt;
&lt;br /&gt;
See also the related perspecitve correction tutorials: [http://hugin.sourceforge.net/tutorials/architectural/en.shtml hugin tutorial on perspective correction], [[Perspective correction]], [[Leveling a Finished Panorama]]. While these are concerned with correction of the perspective in one image, the same technique can be used for&lt;br /&gt;
leveling a panorama.&lt;br /&gt;
&lt;br /&gt;
== Postprocessing ==&lt;br /&gt;
&lt;br /&gt;
=== Why is the ICC profile of my input images not preserved? ===&lt;br /&gt;
&lt;br /&gt;
Since hugin 0.5 and enblend 2.4 ICC profiles in the input files are transfered to the output panorama. Please update to a current version.&lt;br /&gt;
&lt;br /&gt;
=== How can I postprocess the image using multiple layers in The Gimp? ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately, The [[Gimp]] can't read [[PSD]] formatted files generated by [[PTStitcher]], and the multiple [[TIFF]] output it produces is cumbersome to use. There are two possibilities to work around this:&lt;br /&gt;
&lt;br /&gt;
*Use the [[nona]] stitcher, to output to a multilayer TIFF format.&lt;br /&gt;
This will will produce a multi_layer.tif file, that contains all remapped images, cropped to their bounding box. This will save a lot of space, compared to a &amp;quot;traditional&amp;quot; PTStitcher layered output file, where all layers have the full panorama size.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, The Gimp 1.2 and 1.3 can't load multilayer TIFF files. Please use Gimp 2.0 or later.&lt;br /&gt;
&lt;br /&gt;
*If you need [[PTStitcher]] features not supported by nona, you can also use [[tif2xcf]], to combine the multiple TIFF output into a multilayer XCF.&lt;br /&gt;
Unfortunately this requires a lot of memory because it stores each remapped image in a layer with the size of the final panorama.&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/User:Dedalus</id>
		<title>User:Dedalus</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/User:Dedalus"/>
				<updated>2006-08-15T11:07:49Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: me&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[w:nl:Gebruiker:Dedalus|Dedalus]]&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/Lens_correction_model</id>
		<title>Lens correction model</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/Lens_correction_model"/>
				<updated>2006-08-15T11:07:06Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: /* Lens distortion a, b &amp;amp; c parameters */ more math formulas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Lens correction model ==&lt;br /&gt;
&lt;br /&gt;
The panorama tools have a very flexible model to correct for typical geometrical lens errors. Even better, it can often even estimate the correction parameters directly from the images in a panorama.&lt;br /&gt;
&lt;br /&gt;
There are a total of 6 parameters that have to do with lens correction. &lt;br /&gt;
* First of all there is the lens [[Field of View]] (FoV) - not exactly an error, but a parameter that determines the image perspective distortion. &lt;br /&gt;
* The actual lens correction parameters '''a''', '''b''' and '''c''' which are used to correct for [[barrel distortion]], [[pincushion distortion]] and even [[wavy distortion]].&lt;br /&gt;
* The lens shift parameters '''d''' and '''e''' that correct for the lens [[optical axis]] not being in the image center.&lt;br /&gt;
&lt;br /&gt;
Two more parameters correct for image errors that are not induced by the lens but by a scanner or scanning camera for example. These are the shear parameters '''f''' and '''g'''.&lt;br /&gt;
&lt;br /&gt;
=== Field of View ===&lt;br /&gt;
&lt;br /&gt;
The [[Focal Length]] is a physical property of the lens. Together with the effective sensor or film size and the focusing distance it approximates the image [[Field of view]] (there are other factors that influence it). '''Caution''': Cropping the image changes the Field of View. If you need to crop your source images for a panorama, crop them all to the same size!&lt;br /&gt;
&lt;br /&gt;
The Field of View together with the lens projection ([[Rectilinear Projection|rectilinear]], [[Fisheye Projection|fisheye]] or [[Cylindrical Projection|cylindrical]] for swing lens cameras) determine the image [[perspective distortion]]. Perspective distortion is less with a smaller Field of View. See Helmut Dersch page [http://www.path.unimelb.edu.au/~dersch/perspective/Wide_Angle_Perspective.html] for details about different wide angle perspectives.&lt;br /&gt;
&lt;br /&gt;
=== Lens distortion a, b &amp;amp; c parameters ===&lt;br /&gt;
&lt;br /&gt;
For perfect [[Rectilinear Projection|rectilinear]] camera optics, all you would need to know is the field of view.  Perfect results could be achieved by simply mapping pixels in the image to the [[tangent plane]].  Real lenses deviate from this perfect tangent plane projection.  The deviations push and pull fixed points in the scene away from where they would have fallen.  Luckily, rather than arbitrary pushes and pulls, almost all deviations occur radially, towards or away from some common center, and luckily the deviation amount is almost the same at a given radius around that center. Hence a model that corrects for this deviation based on the radius gives pretty good results.&lt;br /&gt;
&lt;br /&gt;
The [[lens distortion]] '''a''', '''b''' and '''c''' parameters correspond to a third degree polynomial describing radial lens distortion: &lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
r_{src} = ({a}r_{dest}^3+{b}r_{dest}^2+{c}r_{dest}+d)r_{dest}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;math&amp;gt;r_{dest}&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;r_{src}&amp;lt;/math&amp;gt; refer to the normalized radius of an image pixel. The center point of this radius is where the [[optical axis]] hits the image - normally the image center.  Normalized means here that the largest circle that completely fits into an image is said to have radius=1.0 .  (In other words, radius=1.0 is half the smaller side of the image.) A perfect lens would have '''a'''='''b'''='''c'''=0.0 and '''d'''=1.0 which resolves into  &amp;lt;math&amp;gt;r_{src} = r_{dest}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sometimes the above formula is written as &lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
r_{src} = {a}r_{dest}^4+{b}r_{dest}^4+{c}r_{dest}^2+d{r_{dest}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which is essentially the same.&lt;br /&gt;
&lt;br /&gt;
Usual values for '''a''', '''b''' and '''c''' are below 1.0, in most cases below 0.01. Too high values suggest that you chose a wrong lens type, f.e. fisheye instead of rectilinear or vice versa. This refers to the absolute values of course since '''a''', '''b''' and '''c''' can be positive or negative (f.e. both 4.5 and -4.5 are considered too high values).&lt;br /&gt;
&lt;br /&gt;
The fourth parameter ('''d''') is only available in the [[Panorama Tools Plugins#Radial_Shift|Correct, Radial Shift]] filter of the [[Panorama Tools Plugins]]. It controls the result image size and is calculated implicitly by [[pano12]] (used by PTOptimizer, PTStitcher and the GUIs) in order to keep the same image size: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
d = 1 - (a+b+c)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hence it is not available in the different [[GUI front-ends]] (you can see it in the PTOptimizer result script).&lt;br /&gt;
&lt;br /&gt;
Unfortunately a different parameter also named '''d''' refers to image shift in PTStitcher and PTOptimizer scripts and the GUIs.  This sometimes causes confusion. (See more discussion below.)&lt;br /&gt;
&lt;br /&gt;
This polynomial approach is never exact, but can give a pretty good approximation to the real behaviour of a given lens. If you need better correction you must use a distortion matrix, as used by '''Distortion Remove''' (see link below). &lt;br /&gt;
&lt;br /&gt;
==== Lens distortion and fisheyes ====&lt;br /&gt;
&lt;br /&gt;
Unlike rectilinear lenses, fish-eye lenses do not follow the tangent-plane geometry, but instead have ''built-in'' distortions designed to achieve wide fields of view.  The radial lens distortion parameters are used the same way for rectilinear lenses and [[Fisheyes|fisheye lenses]], but they should never be used to attempt to remap a fisheye to a rectilinear image.  This is done by selecting the proper source and destination projection.  Fisheye geometry follows a rapidly-changing trigonometric function which can hardly be approximated by a third degree polynomial.&lt;br /&gt;
&lt;br /&gt;
For fisheyes, the lens correction parameters correct for the deviation between a real lens and the [[Fisheye Projection|ideal fisheye geometry]].&lt;br /&gt;
&lt;br /&gt;
=== Lens or image shift d &amp;amp; e parameters ===&lt;br /&gt;
&lt;br /&gt;
Sometimes a lens and image sensor might not be centered with respect to each other. In this case the [[optical axis]] doesn't fall on the image center. This is particularly the case for scanned images where you never can say whether the film is centered on the scanner or not.&lt;br /&gt;
&lt;br /&gt;
If the above lens correction algorithm is used on such images both lens correction and perspective correction work on the wrong center point. The lens shift parameters '''d''' (horizontal shift) and '''e''' (vertical shift) compensate for that problem. They contain values in pixel units which determine how far the center for radial correction is shifted outside the geometrical image center.&lt;br /&gt;
&lt;br /&gt;
=== Image shear f &amp;amp; g parameters ===&lt;br /&gt;
&lt;br /&gt;
Image shear is not a [[lens distortion]] but nevertheless is part of the panotools lens correction model. It corrects for a distortion induced by scanners or scanning cameras that causes a rectangular image being sheared to the form of a parallelogram (one side of the images is shifted parallel to the opposite side)&lt;br /&gt;
&lt;br /&gt;
=== Determine lens correction ===&lt;br /&gt;
&lt;br /&gt;
'''a''', '''b''', '''c''' and '''FoV''' are physical properties of a lens/camera-combination at a given focus distance. If you always shoot at the same focus setting, f.e. infinity or the [[Depth of Field#Hyperfocal_distance|hyperfocal distance]], then you can safely reuse the parameters.  At different focus settings, '''FoV''' will change noticeably, but usually it is fineto reuse '''a''', '''b''', and '''c''' even then.&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to determine the a, b, c and [[field of view|fov]]&lt;br /&gt;
parameters for a particular lens/camera combination:&lt;br /&gt;
&lt;br /&gt;
* Taking a single photograph of a subject containing straight lines, defining one or more sets of [[straight line control points]] (types t3, t4, etc.), and optimising for just a, b, c.  You need to set the output format to [[Rectilinear Projection]] for this technique to work.  This method is used by the author of [[PTLens]].&lt;br /&gt;
&lt;br /&gt;
* Taking a single photograph of a rectangular object, selecting lots of [[horizontal control points|horizontal]] and [[vertical control points]], then optimising [[roll]], [[pitch]], [[yaw]], [[field of view|fov]], a, b &amp;amp; c. You need to set the output format to [[Rectilinear Projection]] for this technique to work.  The process is similar to this [http://hugin.sourceforge.net/tutorials/architectural/ hugin architectural tutorial]:&lt;br /&gt;
&lt;br /&gt;
* Taking two or more overlapping photographs and selecting lots of normal control points, then optimising [[roll]], [[pitch]], [[yaw]], [[field of view|fov]], a, b &amp;amp; c. This technique works with any output [[Projections|projection format]] but requires [[parallax]] free images shot exactly from the [[Nodal Point]]. Note that to get a precise measure of the [[field of view]], you have to take a full 360 degree panorama.&lt;br /&gt;
&lt;br /&gt;
* Using a tool such as [[PTLens]] or [[clens]] to read the [[JPEG]] [[EXIF]] data and correct the image automatically by looking up the lens in an existing database.&lt;br /&gt;
&lt;br /&gt;
=== Optimize for lens correction ===&lt;br /&gt;
&lt;br /&gt;
If you optimize for lens correction in order to calibrate your lens you should keep some facts in mind: &lt;br /&gt;
&lt;br /&gt;
Since lens correction parameters are determined by evaluating the distortion at different radius values you should provide enough control points at a large range of radii from the image center.&lt;br /&gt;
* If you use a rectangular pattern or straight lines for that task, make sure you set control points in all distances from the center. &lt;br /&gt;
* If you use two or more images make sure you overlap regions with large potential distortion (f.e. the corners) with regions with low possible distortion (f.e. the center). An only horizontal overlap would do, but use at least 50% in order to overlap the image center of one image with the border of the other.&lt;br /&gt;
&lt;br /&gt;
'''a''', '''b''' and '''c''' parameters influence [[Field of View]], especially for images in landscape orientation but slightly for portrait oriented ones, too. This is because although the implicit calculation of the fourth polynomial parameter tries to keep the image at the same size, this is only possible at the radius '''r_src''' = 1.0. &lt;br /&gt;
&lt;br /&gt;
Outside this radius, especially in the image corners, the size and hence the Field of View might differ. Since they are interconnected in this way, you should always allow the optimization for FoV too, if you optimize for '''a''', '''b''' and '''c''' with more than one image. (You cannot optimize for FoV with only one image). As noted above you need a full 360 degree panorama in order to get an accurate measure of the [[field of view]].&lt;br /&gt;
&lt;br /&gt;
The '''a''' and '''c''' parameters control more complex forms of distortion. In most cases it will be enough to optimize for the '''b''' parameter only, which is good at correcting normal [[barrel distortion]] and [[pincushion distortion]].&lt;br /&gt;
&lt;br /&gt;
If you want to see how changing the parameters influences distortion correction go to http://www.4pi.org/downloads/ and get '''abc.xls'''. Don't deactivate macros on loading.&lt;br /&gt;
&lt;br /&gt;
See also [http://www.path.unimelb.edu.au/~dersch/barrel/barrel.html Helmut Dersch's barrel distortion page].&lt;br /&gt;
&lt;br /&gt;
There's an excellent tutorial on how to optimize by John Houghton: [http://homepage.ntlworld.com/j.houghton/optitute.htm]&lt;br /&gt;
&lt;br /&gt;
=== Tools to correct barrel and pincushion distortion ===&lt;br /&gt;
&lt;br /&gt;
* The original [[PTStitcher]] can be scripted to batch process images with known a, b &amp;amp; c parameters.  It can also be operated with one of the [[GUI front-ends]].&lt;br /&gt;
&lt;br /&gt;
* [[nona]] or [[nona_gui]] (both part of the [[hugin]] distribution) can be used identically to [[PTStitcher]].&lt;br /&gt;
&lt;br /&gt;
* The [[Panorama_Tools_Plugins#Radial_Shift|Correct Radial Shift]] filter in the [[Panorama Tools Plugins]] for the [[gimp]] or [[photoshop]] uses the same a, b &amp;amp; c parameters as [[PTStitcher]].  Note that it doesn't know about d &amp;amp; e shift parameters and uses 'd' as an overall scaling factor instead, which should be d = 1-(a+b+c) to keep the image roughly the same size. If you need to shift the correction center like with the d &amp;amp; e parameter you must combine it with [[Panorama_Tools_Plugins#Vertical_Shift_.26_Horizontal_Shift|Vertical Shift]] and/or [[Panorama_Tools_Plugins#Vertical_Shift_.26_Horizontal_Shift|Horizontal Shift]].&lt;br /&gt;
&lt;br /&gt;
* [[PTLens]] is a [[Photoshop]] plugin and a stand-alone Windows tool that uses the same a, b &amp;amp; c parameters and comes with a database of popular lenses.&lt;br /&gt;
&lt;br /&gt;
* [[Clens]] is a command line version of [[PTLens]].&lt;br /&gt;
&lt;br /&gt;
* [[fulla]] is a command-line tool that uses the same a, b, c &amp;amp; d parameters to correct [[barrel distortion]].  It can also correct [[chromatic aberration]] and [[vignetting]] at the same time.&lt;br /&gt;
&lt;br /&gt;
* [[PTShift]] determines different a, b &amp;amp; c parameters for the three color channels in order to correct for [[Chromatic aberration]] with the [[Panorama_Tools_Plugins#Radial_Shift|Correct Radial Shift]] filter.&lt;br /&gt;
&lt;br /&gt;
* [[Gimp wideangle plugin]] uses a different formula altogether to correct distortion.&lt;br /&gt;
&lt;br /&gt;
* [[Gimp phfluuh plugin]] is another tool that corrects lens distortion using yet another formula.&lt;br /&gt;
&lt;br /&gt;
* [[CamChecker]] is a tool for automatically determining lens distortion and generates a different set of parameters from everything else.&lt;br /&gt;
&lt;br /&gt;
* [[zhang_undistort]] is a tool distributed with [[hugin]] that uses [[CamChecker]] parameters to actually correct distortion.&lt;br /&gt;
&lt;br /&gt;
* [[Distortion Remove]] uses a completely different approach with a distortion matrix. Page in german only: http://www.stoske.de/digicam/Artikel/verzeichnung.html&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	<entry>
		<id>http://wiki.panotools.org/Lens_correction_model</id>
		<title>Lens correction model</title>
		<link rel="alternate" type="text/html" href="http://wiki.panotools.org/Lens_correction_model"/>
				<updated>2006-08-15T10:17:44Z</updated>
		
		<summary type="html">&lt;p&gt;Dedalus: /* Lens distortion a, b &amp;amp; c parameters */ formula using &amp;lt;math&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Lens correction model ==&lt;br /&gt;
&lt;br /&gt;
The panorama tools have a very flexible model to correct for typical geometrical lens errors. Even better, it can often even estimate the correction parameters directly from the images in a panorama.&lt;br /&gt;
&lt;br /&gt;
There are a total of 6 parameters that have to do with lens correction. &lt;br /&gt;
* First of all there is the lens [[Field of View]] (FoV) - not exactly an error, but a parameter that determines the image perspective distortion. &lt;br /&gt;
* The actual lens correction parameters '''a''', '''b''' and '''c''' which are used to correct for [[barrel distortion]], [[pincushion distortion]] and even [[wavy distortion]].&lt;br /&gt;
* The lens shift parameters '''d''' and '''e''' that correct for the lens [[optical axis]] not being in the image center.&lt;br /&gt;
&lt;br /&gt;
Two more parameters correct for image errors that are not induced by the lens but by a scanner or scanning camera for example. These are the shear parameters '''f''' and '''g'''.&lt;br /&gt;
&lt;br /&gt;
=== Field of View ===&lt;br /&gt;
&lt;br /&gt;
The [[Focal Length]] is a physical property of the lens. Together with the effective sensor or film size and the focusing distance it approximates the image [[Field of view]] (there are other factors that influence it). '''Caution''': Cropping the image changes the Field of View. If you need to crop your source images for a panorama, crop them all to the same size!&lt;br /&gt;
&lt;br /&gt;
The Field of View together with the lens projection ([[Rectilinear Projection|rectilinear]], [[Fisheye Projection|fisheye]] or [[Cylindrical Projection|cylindrical]] for swing lens cameras) determine the image [[perspective distortion]]. Perspective distortion is less with a smaller Field of View. See Helmut Dersch page [http://www.path.unimelb.edu.au/~dersch/perspective/Wide_Angle_Perspective.html] for details about different wide angle perspectives.&lt;br /&gt;
&lt;br /&gt;
=== Lens distortion a, b &amp;amp; c parameters ===&lt;br /&gt;
&lt;br /&gt;
For perfect [[Rectilinear Projection|rectilinear]] camera optics, all you would need to know is the field of view.  Perfect results could be achieved by simply mapping pixels in the image to the [[tangent plane]].  Real lenses deviate from this perfect tangent plane projection.  The deviations push and pull fixed points in the scene away from where they would have fallen.  Luckily, rather than arbitrary pushes and pulls, almost all deviations occur radially, towards or away from some common center, and luckily the deviation amount is almost the same at a given radius around that center. Hence a model that corrects for this deviation based on the radius gives pretty good results.&lt;br /&gt;
&lt;br /&gt;
The [[lens distortion]] '''a''', '''b''' and '''c''' parameters correspond to a third degree polynomial describing radial lens distortion: &amp;lt;pre&amp;gt;r_src = (a*r_dest^3 + b*r_dest^2 + c*r_dest + d) * r_dest&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
r_{src} = ({a}r_{dest}^3+{b}r_{dest}^2+{c}r_{dest}+d)r_{dest}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
where '''r_dest''' and '''r_src''' refer to the normalized radius of an image pixel. The center point of this radius is where the [[optical axis]] hits the image - normally the image center.  Normalized means here that the largest circle that completely fits into an image is said to have radius=1.0 .  (In other words, radius=1.0 is half the smaller side of the image.) A perfect lens would have '''a'''='''b'''='''c'''=0.0 and '''d'''=1.0 which resolves into  '''r_src'''='''r_dest'''.&lt;br /&gt;
&lt;br /&gt;
Sometimes the above formula is written as &amp;lt;pre&amp;gt;r_src = a*r_dest^4 + b*r_dest^3 + c*r_dest^2 + d*r_dest&amp;lt;/pre&amp;gt; which is essentially the same.&lt;br /&gt;
&lt;br /&gt;
Usual values for '''a''', '''b''' and '''c''' are below 1.0, in most cases below 0.01. Too high values suggest that you chose a wrong lens type, f.e. fisheye instead of rectilinear or vice versa. This refers to the absolute values of course since '''a''', '''b''' and '''c''' can be positive or negative (f.e. both 4.5 and -4.5 are considered too high values).&lt;br /&gt;
&lt;br /&gt;
The fourth parameter ('''d''') is only available in the [[Panorama Tools Plugins#Radial_Shift|Correct, Radial Shift]] filter of the [[Panorama Tools Plugins]]. It controls the result image size and is calculated implicitly by [[pano12]] (used by PTOptimizer, PTStitcher and the GUIs) in order to keep the same image size: &amp;lt;pre&amp;gt;d = 1-(a+b+c)&amp;lt;/pre&amp;gt; Hence it is not available in the different [[GUI front-ends]] (you can see it in the PTOptimizer result script).&lt;br /&gt;
&lt;br /&gt;
Unfortunately a different parameter also named '''d''' refers to image shift in PTStitcher and PTOptimizer scripts and the GUIs.  This sometimes causes confusion. (See more discussion below.)&lt;br /&gt;
&lt;br /&gt;
This polynomial approach is never exact, but can give a pretty good approximation to the real behaviour of a given lens. If you need better correction you must use a distortion matrix, as used by '''Distortion Remove''' (see link below). &lt;br /&gt;
&lt;br /&gt;
==== Lens distortion and fisheyes ====&lt;br /&gt;
&lt;br /&gt;
Unlike rectilinear lenses, fish-eye lenses do not follow the tangent-plane geometry, but instead have ''built-in'' distortions designed to achieve wide fields of view.  The radial lens distortion parameters are used the same way for rectilinear lenses and [[Fisheyes|fisheye lenses]], but they should never be used to attempt to remap a fisheye to a rectilinear image.  This is done by selecting the proper source and destination projection.  Fisheye geometry follows a rapidly-changing trigonometric function which can hardly be approximated by a third degree polynomial.&lt;br /&gt;
&lt;br /&gt;
For fisheyes, the lens correction parameters correct for the deviation between a real lens and the [[Fisheye Projection|ideal fisheye geometry]].&lt;br /&gt;
&lt;br /&gt;
=== Lens or image shift d &amp;amp; e parameters ===&lt;br /&gt;
&lt;br /&gt;
Sometimes a lens and image sensor might not be centered with respect to each other. In this case the [[optical axis]] doesn't fall on the image center. This is particularly the case for scanned images where you never can say whether the film is centered on the scanner or not.&lt;br /&gt;
&lt;br /&gt;
If the above lens correction algorithm is used on such images both lens correction and perspective correction work on the wrong center point. The lens shift parameters '''d''' (horizontal shift) and '''e''' (vertical shift) compensate for that problem. They contain values in pixel units which determine how far the center for radial correction is shifted outside the geometrical image center.&lt;br /&gt;
&lt;br /&gt;
=== Image shear f &amp;amp; g parameters ===&lt;br /&gt;
&lt;br /&gt;
Image shear is not a [[lens distortion]] but nevertheless is part of the panotools lens correction model. It corrects for a distortion induced by scanners or scanning cameras that causes a rectangular image being sheared to the form of a parallelogram (one side of the images is shifted parallel to the opposite side)&lt;br /&gt;
&lt;br /&gt;
=== Determine lens correction ===&lt;br /&gt;
&lt;br /&gt;
'''a''', '''b''', '''c''' and '''FoV''' are physical properties of a lens/camera-combination at a given focus distance. If you always shoot at the same focus setting, f.e. infinity or the [[Depth of Field#Hyperfocal_distance|hyperfocal distance]], then you can safely reuse the parameters.  At different focus settings, '''FoV''' will change noticeably, but usually it is fineto reuse '''a''', '''b''', and '''c''' even then.&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to determine the a, b, c and [[field of view|fov]]&lt;br /&gt;
parameters for a particular lens/camera combination:&lt;br /&gt;
&lt;br /&gt;
* Taking a single photograph of a subject containing straight lines, defining one or more sets of [[straight line control points]] (types t3, t4, etc.), and optimising for just a, b, c.  You need to set the output format to [[Rectilinear Projection]] for this technique to work.  This method is used by the author of [[PTLens]].&lt;br /&gt;
&lt;br /&gt;
* Taking a single photograph of a rectangular object, selecting lots of [[horizontal control points|horizontal]] and [[vertical control points]], then optimising [[roll]], [[pitch]], [[yaw]], [[field of view|fov]], a, b &amp;amp; c. You need to set the output format to [[Rectilinear Projection]] for this technique to work.  The process is similar to this [http://hugin.sourceforge.net/tutorials/architectural/ hugin architectural tutorial]:&lt;br /&gt;
&lt;br /&gt;
* Taking two or more overlapping photographs and selecting lots of normal control points, then optimising [[roll]], [[pitch]], [[yaw]], [[field of view|fov]], a, b &amp;amp; c. This technique works with any output [[Projections|projection format]] but requires [[parallax]] free images shot exactly from the [[Nodal Point]]. Note that to get a precise measure of the [[field of view]], you have to take a full 360 degree panorama.&lt;br /&gt;
&lt;br /&gt;
* Using a tool such as [[PTLens]] or [[clens]] to read the [[JPEG]] [[EXIF]] data and correct the image automatically by looking up the lens in an existing database.&lt;br /&gt;
&lt;br /&gt;
=== Optimize for lens correction ===&lt;br /&gt;
&lt;br /&gt;
If you optimize for lens correction in order to calibrate your lens you should keep some facts in mind: &lt;br /&gt;
&lt;br /&gt;
Since lens correction parameters are determined by evaluating the distortion at different radius values you should provide enough control points at a large range of radii from the image center.&lt;br /&gt;
* If you use a rectangular pattern or straight lines for that task, make sure you set control points in all distances from the center. &lt;br /&gt;
* If you use two or more images make sure you overlap regions with large potential distortion (f.e. the corners) with regions with low possible distortion (f.e. the center). An only horizontal overlap would do, but use at least 50% in order to overlap the image center of one image with the border of the other.&lt;br /&gt;
&lt;br /&gt;
'''a''', '''b''' and '''c''' parameters influence [[Field of View]], especially for images in landscape orientation but slightly for portrait oriented ones, too. This is because although the implicit calculation of the fourth polynomial parameter tries to keep the image at the same size, this is only possible at the radius '''r_src''' = 1.0. &lt;br /&gt;
&lt;br /&gt;
Outside this radius, especially in the image corners, the size and hence the Field of View might differ. Since they are interconnected in this way, you should always allow the optimization for FoV too, if you optimize for '''a''', '''b''' and '''c''' with more than one image. (You cannot optimize for FoV with only one image). As noted above you need a full 360 degree panorama in order to get an accurate measure of the [[field of view]].&lt;br /&gt;
&lt;br /&gt;
The '''a''' and '''c''' parameters control more complex forms of distortion. In most cases it will be enough to optimize for the '''b''' parameter only, which is good at correcting normal [[barrel distortion]] and [[pincushion distortion]].&lt;br /&gt;
&lt;br /&gt;
If you want to see how changing the parameters influences distortion correction go to http://www.4pi.org/downloads/ and get '''abc.xls'''. Don't deactivate macros on loading.&lt;br /&gt;
&lt;br /&gt;
See also [http://www.path.unimelb.edu.au/~dersch/barrel/barrel.html Helmut Dersch's barrel distortion page].&lt;br /&gt;
&lt;br /&gt;
There's an excellent tutorial on how to optimize by John Houghton: [http://homepage.ntlworld.com/j.houghton/optitute.htm]&lt;br /&gt;
&lt;br /&gt;
=== Tools to correct barrel and pincushion distortion ===&lt;br /&gt;
&lt;br /&gt;
* The original [[PTStitcher]] can be scripted to batch process images with known a, b &amp;amp; c parameters.  It can also be operated with one of the [[GUI front-ends]].&lt;br /&gt;
&lt;br /&gt;
* [[nona]] or [[nona_gui]] (both part of the [[hugin]] distribution) can be used identically to [[PTStitcher]].&lt;br /&gt;
&lt;br /&gt;
* The [[Panorama_Tools_Plugins#Radial_Shift|Correct Radial Shift]] filter in the [[Panorama Tools Plugins]] for the [[gimp]] or [[photoshop]] uses the same a, b &amp;amp; c parameters as [[PTStitcher]].  Note that it doesn't know about d &amp;amp; e shift parameters and uses 'd' as an overall scaling factor instead, which should be d = 1-(a+b+c) to keep the image roughly the same size. If you need to shift the correction center like with the d &amp;amp; e parameter you must combine it with [[Panorama_Tools_Plugins#Vertical_Shift_.26_Horizontal_Shift|Vertical Shift]] and/or [[Panorama_Tools_Plugins#Vertical_Shift_.26_Horizontal_Shift|Horizontal Shift]].&lt;br /&gt;
&lt;br /&gt;
* [[PTLens]] is a [[Photoshop]] plugin and a stand-alone Windows tool that uses the same a, b &amp;amp; c parameters and comes with a database of popular lenses.&lt;br /&gt;
&lt;br /&gt;
* [[Clens]] is a command line version of [[PTLens]].&lt;br /&gt;
&lt;br /&gt;
* [[fulla]] is a command-line tool that uses the same a, b, c &amp;amp; d parameters to correct [[barrel distortion]].  It can also correct [[chromatic aberration]] and [[vignetting]] at the same time.&lt;br /&gt;
&lt;br /&gt;
* [[PTShift]] determines different a, b &amp;amp; c parameters for the three color channels in order to correct for [[Chromatic aberration]] with the [[Panorama_Tools_Plugins#Radial_Shift|Correct Radial Shift]] filter.&lt;br /&gt;
&lt;br /&gt;
* [[Gimp wideangle plugin]] uses a different formula altogether to correct distortion.&lt;br /&gt;
&lt;br /&gt;
* [[Gimp phfluuh plugin]] is another tool that corrects lens distortion using yet another formula.&lt;br /&gt;
&lt;br /&gt;
* [[CamChecker]] is a tool for automatically determining lens distortion and generates a different set of parameters from everything else.&lt;br /&gt;
&lt;br /&gt;
* [[zhang_undistort]] is a tool distributed with [[hugin]] that uses [[CamChecker]] parameters to actually correct distortion.&lt;br /&gt;
&lt;br /&gt;
* [[Distortion Remove]] uses a completely different approach with a distortion matrix. Page in german only: http://www.stoske.de/digicam/Artikel/verzeichnung.html&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Dedalus</name></author>	</entry>

	</feed>