[vtkusers] unresolved external

Radim Kolář kolarr at feec.vutbr.cz
Fri Mar 5 13:54:44 EST 2004


Please help me with this:
I get these error messages, when I'm linking application under Borland.

  [Linker Error] Unresolved external 'vtkThinPlateSplineTransform::New()' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\WARP\UNIT1.OBJ
  [Linker Error] Unresolved external 'vtkThinPlateSplineTransform::SetSourceLandmarks(vtkPoints *)' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\WARP\UNIT1.OBJ
  [Linker Error] Unresolved external 'vtkThinPlateSplineTransform::SetTargetLandmarks(vtkPoints *)' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\WARP\UNIT1.OBJ
  [Linker Error] Unresolved external 'vtkThinPlateSplineTransform::SetBasis(int)' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\WARP\UNIT1.OBJ
  [Linker Error] Unresolved external 'vtkTransformToGrid::New()' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\WARP\UNIT1.OBJ
  [Linker Error] Unresolved external 'vtkGridTransform::New()' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\WARP\UNIT1.OBJ
  [Linker Error] Unresolved external 'vtkGridTransform::SetInterpolationMode(int)' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\WARP\UNIT1.OBJ

Where is the problem please?
Thanks, Radim

Here is my simple code:

//---------------------------------------------------------------------------
#include "vtkPolyData.h"
#include "vtkTransform.h"
#include "vtkTransformPolyDataFilter.h"
#include "vtkWarpScalar.h"
#include "vtkBMPReader.h"
#include "vtkImageReslice.h"
#include "vtkGridTransform.h"
#include "vtkTransformToGrid.h"
#include "vtkThinPlateSplineTransform.h"
#include "vtkPoints.h"
#include "vtkImageBlend.h"
#include "vtkImageMapToColors.h"
#include "vtkLookupTable.h"
#include "vtkImageGridSource.h"
#include "vtkImageViewer.h"

#include <stdio.h>
#include <vcl.h>
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
        //# first, create an image to warp
        vtkImageGridSource *imageGrid = vtkImageGridSource::New();
                imageGrid->SetGridSpacing( 16, 16, 0);
                imageGrid->SetGridOrigin( 0, 0, 0 );
                imageGrid->SetDataExtent( 0, 255, 0, 255, 0, 0);
                imageGrid->SetDataScalarTypeToUnsignedChar();

        vtkLookupTable *table = vtkLookupTable::New();
                table->SetTableRange( 0, 1 );
                table->SetValueRange( 1.0, 0.0);
                table->SetSaturationRange( 0.0, 0.0);
                table->SetHueRange( 0.0, 0.0 );
                table->SetAlphaRange( 0.0, 1.0 );
                table->Build();

        vtkImageMapToColors *alpha = vtkImageMapToColors::New();
                alpha->SetInput( imageGrid->GetOutput() );
                alpha->SetLookupTable( table );

        vtkBMPReader *reader1 = vtkBMPReader::New();
                reader1->SetFileName( "c:/Data/Retina/3D/105939/L/105939l000.bmp" );

        vtkImageBlend *blend = vtkImageBlend::New();
                blend->SetInput( 0, reader1->GetOutput() );
                blend->SetInput( 1, alpha->GetOutput() );

//# next, create a ThinPlateSpline transform

        vtkPoints *p1=vtkPoints::New();
                p1->SetNumberOfPoints( 8 );
                p1->SetPoint( 0, 0, 0, 0 );
                p1->SetPoint( 1, 0, 255, 0);
                p1->SetPoint( 2, 255, 0, 0 );
                p1->SetPoint( 3, 255, 255, 0 );
                p1->SetPoint( 4, 96, 96, 0 );
                p1->SetPoint( 5, 96, 159, 0 );
                p1->SetPoint( 6, 159, 159, 0 );
                p1->SetPoint( 7, 159, 96, 0 );

        vtkPoints *p2=vtkPoints::New();
                p2->SetNumberOfPoints( 8 );
                p2->SetPoint( 0, 0, 0, 0 );
                p2->SetPoint( 1, 0, 255, 0);
                p2->SetPoint( 2, 255, 0, 0 );
                p2->SetPoint( 3, 255, 255, 0 );
                p2->SetPoint( 7, 96, 96, 0 );
                p2->SetPoint( 5, 96, 159, 0 );
                p2->SetPoint( 5, 159, 159, 0 );
                p2->SetPoint( 6, 159, 96, 0 );


        vtkThinPlateSplineTransform *thinPlate = vtkThinPlateSplineTransform::New();
                thinPlate->SetSourceLandmarks( p2 );
                thinPlate->SetTargetLandmarks( p1 );
                thinPlate->SetBasisToR2LogR();

//# convert the thin plate spline into a grid

        vtkTransformToGrid *transformToGrid = vtkTransformToGrid::New();
                transformToGrid->SetInput( thinPlate );
                transformToGrid->SetGridSpacing( 16, 16, 1 );
                transformToGrid->SetGridOrigin( -0.5, -0.5, 0 );
                transformToGrid->SetGridExtent(0, 16, 0, 16, 0, 0);

        vtkGridTransform *transform = vtkGridTransform::New();
                transform->SetDisplacementGrid( transformToGrid->GetOutput() );
                transform->SetInterpolationModeToCubic();

        //# you must invert the transform before passing it to vtkImageReslice
        transform->Inverse();

//# apply the grid warp to the image

        vtkImageReslice *reslice = vtkImageReslice::New();
                reslice->SetInput( blend->GetOutput() );
                reslice->SetResliceTransform( transform );
                reslice->SetInterpolationModeToLinear();

//# set the window/level to 255.0/127.5 to view full range
        vtkImageViewer *viewer = vtkImageViewer::New();
                viewer->SetInput( reslice->GetOutput() );
                viewer->SetColorWindow( 255.0 );
                viewer->SetColorLevel( 127.5 );
                viewer->SetZSlice( 0 );
                viewer->Render();
        getchar();


        return 0;
}
//---------------------------------------------------------------------------



======================================================
Department of Biomedical Engineering
Faculty of Electrical Engineering and Communication
Brno University of Technology
Purkynova 118
61200 Brno, Czech Republic
tel: 541 149 551
fax: 541 149 542
mail: kolarr at feec.vutbr.cz
Visit BIOSIGNAL 2004 web site: http://www.feec.vutbr.cz/UBMI/bs2004.html
======================================================
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20040305/fb1de26e/attachment.htm>


More information about the vtkusers mailing list