[ptx] hugin build with the latest wxWindows, vigra and fftw
Wolfgang Goetz
wolfgang.ztoeg at web.de
Thu Jan 15 21:09:00 GMT 2004
Hi,
I´ve heard about hugin in de.rec.fotografie,
which leads to a weekend in front of my PC :).
Compiling the xrc extension with the mentioned wxGtk/wxWindows
releases fails. This thing is definitly broken!
**The cvs version is fully functional, but it's a 2.5 based...
therefore i applied changes to hugin:
1) the (depreciated) gaga.ConvertToBitmap() is discarted in
wxWindows! -> use wxBitmap(gaga) see annex (A)
(Compatibility to 2.4 is default, i tried 2.2 w/o success.)
2) there is no Clear() method for wxCheckBox
I commented this out just to get it compiled. see annex (B)
3) the BeforeFirst(' ') doesn't compile. (but it's classmember ??)
I commented this out. see annex (C)
4) tell configure about xrc and vigra
see annex (D)
applying this 'hugin' itself works. :)
..and my second pano was a 360 degree out of 16 pictures
from my DimageXT..
just to learn how to set the angle:
it's 47 degrees in the wide-angle position.
and set the whitebalance manually.
exposure is always auto. (sigh)
it's just a p&s always-with-me camera.
but there's a 35mm and 6x7 'analog' .. we will see
conclusion:
funny,
amazing,
*gimmemoretime*
next are the new tools nona and autopano:
1) nona compiles ->nona.o
2) autopano fails see annex (E)
--> vigra doesnt recognize the new fftw!
vigra: configure:
checking for libfftw ... not found in /usr/local/lib ....
but:
/usr/local/lib/libfftw3.a
/usr/local/lib/libfftw3.la
have fun
Wolfgang
-----------------------------------------------------------
VERSIONS------------
hugin_2004_01_02-22_02.tgz
wx-cvs-20040111.tar.bz2
wx-config --version : 2.5.1
vigra1.2.0.tar.gz
vigra-config --version: 1.2.0
fftw-3.0.1.tar.gz
panorama-tools-2.6bml12-2.src.rpm
gtk-config --version 1.2.10
gcc version 3.3 20030226 (prerelease) (SuSE Linux)
ximian-desktop2 (gnome2.2?)
ANNEX A------------
src/PanoImage/mainframe.cpp:252:
wxBitmap bmp = wxBitmap(p); //WGoetz
src/PanoImage/mainframe.cpp:269:
p = bmp.ConvertToImage(); //WGoetz
src/PanoImage/panoviewer.cpp:58:
control = wxBitmap(p); //WGoetz
src/PanoImage/panoviewer.cpp:235:
currentViewBmp = wxBitmap(fastView); //WGoetz
src/PanoImage/panoviewer.cpp:239:
currentViewBmp = wxBitmap(goodView); //WGoetz
src/hugin/CPImageCtrl.cpp:301:
bitmap = wxBitmap(img); //WGoetz
src/hugin/CPImageCtrl.cpp:309:
bitmap = wxBitmap(img->Scale(imageSize.GetWidth(), //WGoetz
src/hugin/CPImageCtrl.cpp:310:
imageSize.GetHeight())); //WGoetz
src/hugin/ImageCenter.cpp:172:
c_img = wxBitmap(img.Scale (new_width, new_height)); //WGoetz
src/hugin/ImageCenter.cpp:177:
dirty_img = wxBitmap(c_img.ConvertToImage()); //WGoetz
src/hugin/ImageOrientationPanel.cpp:293:
m_bitmap = wxBitmap(img->Scale((int) floor(m_scaleFactor *
m_imageSize.GetWidth()), //WGoetz
src/hugin/ImageOrientationPanel.cpp:294:
(int) floor(m_scaleFactor * m_imageSize.GetHeight()))); //WGoetz
src/hugin/ImagesList.cpp:153:
bitmap = wxBitmap(img); //WGoetz
src/hugin/ImagesPanel.cpp:370:
imgctrl->SetBitmap(wxBitmap(scaled)); //WGoetz
src/hugin/PreviewPanel.cpp:198:
*(m_remappedBitmaps[*it]) = wxBitmap(timg); //WGoetz
ANNEX B------------
src/hugin/ImageOrientationPanel.cpp:271:
//WGoetz not ex in this class: Clear();
src/hugin/LensPanel.cpp:444-449:
//WGoetz XRCCTRL(*this, "lens_inherit_?", wxCheckBox)->Clear();
ANNEX C------------
src/hugin/RunOptimizerFrame.cpp:192:
wxString t2 = line.substr(t+2);//.BeforeFirst(' '); WGoetz TBC
ANNEX D------------
configure:79:
$XRC_LFLAGS="-lwx_gtk_xrc-2.5"; # WGoetz 2.4->2.5
configure:83:
my $VIGRA_VERSION=`../vigra1.2.0/bin/vigra-config --version`;
ANNEX E------------
---- Compiling autopano.cpp (C++)
g++ -I. -I../include -Wall -O2 -I/home/goetz/mySoft/vigra1.2.0/include
-c -o .obj/autopano.o autopano.cpp
In file included from autopano.cpp:34:
../include/vigra_ext/PhaseCorrelation.h: In function `float
vigra_ext::rhei(double (*)[2], int, int, int, int)':
../include/vigra_ext/PhaseCorrelation.h:53: error: request for member
`re' in `
*(data + (+(dpos * 16)))', which is of non-class type `double[2]'
../include/vigra_ext/PhaseCorrelation.h: At global scope:
../include/vigra_ext/PhaseCorrelation.h:84: error: type specifier
omitted for
parameter `fftwnd_plan'
../include/vigra_ext/PhaseCorrelation.h:84: error: parse error before
`,' token
../include/vigra_ext/PhaseCorrelation.h: In function `
vigra_ext::CorrelationResult vigra_ext::phase(...)':
../include/vigra_ext/PhaseCorrelation.h:101: error: `nx' undeclared
(first use
this function)
../include/vigra_ext/PhaseCorrelation.h:101: error: (Each undeclared
identifier
is reported only once for each function it appears in.)
../include/vigra_ext/PhaseCorrelation.h:101: error: `ny' undeclared
(first use
this function)
../include/vigra_ext/PhaseCorrelation.h:110: error: `F1' undeclared
(first use
this function)
../include/vigra_ext/PhaseCorrelation.h:110: error: `F2' undeclared
(first use
this function)
../include/vigra_ext/PhaseCorrelation.h:130: error: `pinv' undeclared (first
use this function)
../include/vigra_ext/PhaseCorrelation.h:130: error: `fftwnd_one' undeclared
(first use this function)
../include/vigra_ext/PhaseCorrelation.h:139: error: request for member
`re' in
`*(pcs + (+(dpos * 16)))', which is of non-class type `double[2]'
../include/vigra_ext/PhaseCorrelation.h:139: error: request for member
`re' in
`*(pcs + (+(dpos * 16)))', which is of non-class type `double[2]'
../include/vigra_ext/PhaseCorrelation.h:140: error: request for member
`im' in
`*(pcs + (+(dpos * 16)))', which is of non-class type `double[2]'
../include/vigra_ext/PhaseCorrelation.h:140: error: request for member
`im' in
`*(pcs + (+(dpos * 16)))', which is of non-class type `double[2]'
../include/vigra_ext/PhaseCorrelation.h:145: error: `filename' undeclared
(first use this function)
../include/vigra_ext/PhaseCorrelation.h:158: error: request for member
`re' in
`*(pcs + (+(dpos * 16)))', which is of non-class type `double[2]'
../include/vigra_ext/PhaseCorrelation.h:158: error: request for member
`im' in
`*(pcs + (+(dpos * 16)))', which is of non-class type `double[2]'
../include/vigra_ext/PhaseCorrelation.h:171: error: request for member
`re' in
`*(pcs + (+(dpos * 16)))', which is of non-class type `double[2]'
../include/vigra_ext/PhaseCorrelation.h: At global scope:
../include/vigra_ext/PhaseCorrelation.h:376: error: type specifier
omitted for
parameter `fftwnd_plan'
../include/vigra_ext/PhaseCorrelation.h:376: error: parse error before `,'
token
autopano.cpp: In function `int main(int, char**)':
autopano.cpp:231: error: `fftwnd_plan' undeclared (first use this function)
autopano.cpp:231: error: parse error before `,' token
autopano.cpp:232: error: `fftw_p' undeclared (first use this function)
autopano.cpp:232: error: `fftw2d_create_plan' undeclared (first use this
function)
autopano.cpp:233: error: `fftw_pinv' undeclared (first use this function)
autopano.cpp:383: error: `fftwnd_destroy_plan' undeclared (first use this
function)
make: *** [.obj/autopano.o] Fehler 1
--
Wolfgang Goetz
More information about the ptX
mailing list