[vtkusers] RES: panoramic view

Bill Lorensen bill.lorensen at gmail.com
Tue Jun 15 12:13:12 EDT 2010


Try:
probe->SetInput(pFrame->m_wndView.m_pImageDatarsf->GetOutput());

probe->SetSource(rsf->GetOutput()));

On Tue, Jun 15, 2010 at 9:57 AM, l.a.pereira <l.a.pereira at uol.com.br> wrote:
>
> vtkParametricSpline* vtkpPs = vtkParametricSpline::New();
>
> vtkpPs->SetPoints(pts);
>
> vtkParametricFunctionSource* vtkpPfs = vtkParametricFunctionSource::New();
>
> vtkpPfs->SetParametricFunction(vtkpPs);
>
> vtkpPfs->SetUResolution(500);
>
> vtkTransform *xfm = vtkTransform::New();
>
> xfm->Translate(0, 0, 70);
>
> vtkTransformPolyDataFilter *xfmPd = vtkTransformPolyDataFilter::New();
>
> xfmPd->SetInput(vtkpPfs->GetOutput());
>
> xfmPd->SetTransform(xfm);
>
> vtkAppendPolyData *appendPD = vtkAppendPolyData::New();
>
> appendPD->AddInput(vtkpPfs->GetOutput());
>
> appendPD->AddInput(xfmPd->GetOutput());
>
> vtkRuledSurfaceFilter *rsf = vtkRuledSurfaceFilter::New();
>
> rsf->SetInputConnection(appendPD->GetOutputPort());
>
> rsf->SetResolution(500, 500);
>
> rsf->SetRuledModeToResample();
>
> rsf->Update();
>
> vtkProbeFilter* probe = vtkProbeFilter::New();
>
> probe->SetInput(rsf->GetOutput());
>
> probe->SetSource(pFrame->m_wndView.m_pImageData);
>
> probe->Update();
>
> vtkImageData *imagedata = vtkImageData::New();
>
> imagedata->GetPointData()->SetScalars(probe->GetOutput()->GetPointData()->GetScalars());
>
> imagedata->SetDimensions(500, 500, 1);
>
> imagedata->SetSpacing(1, 1, 1);
>
> imagedata->Update();
>
> vtkImageMapToColors* colorMap = vtkImageMapToColors::New();
>
> colorMap->PassAlphaToOutputOff();
>
> colorMap->SetActiveComponent(0);
>
> colorMap->SetOutputFormatToLuminance();
>
> colorMap->SetInput(imagedata);
>
> colorMap->SetLookupTable(pFrame->m_wndView.m_LookupTable_GrayScale);
>
> this->m_pImageActor = vtkImageActor::New(); //resulting view 3
>
> m_pImageActor->PickableOff();
>
> m_pImageActor->SetInput(colorMap->GetOutput());
>
> m_pImageActor->SetOrigin(0.0, 0.0, 0.0);
>
> m_pImageActor->SetPosition(0.0, 0.0, 0.0);
>
>
>
> ________________________________
>
> Mensagem original
> De: l.a.pereira < l.a.pereira at uol.com.br >
> Para: sercanimailgroups at gmail.com,bill.lorensen at gmail.com <
> bill.lorensen at gmail.com >,vtkusers at vtk.org < vtkusers at vtk.org >
> Assunto: RES: [vtkusers] panoramic view
> Enviada: 15/06/2010 10:51
>
> Sercani Hello,
>
> Unfortunately Bill did not find the example code. But I believe there is
> very little for me to achieve my goal. I also believe that together we can
> solve our problems. I am sending you a piece of code responsible for
> generating the images you can see in the attached file. My problem now is
> that I am not able to generate the final image in vtkImagedata. It is being
> created incorrectly (departure and distorted) as you can see the view number
> 3.
>
> If you can help me solve the distortion in vtkImageData believe we will have
> a solution to our problem. Thanks,From the five points of the curve in view
> 2 I create a spline curve to refer it to vtkruledsurface and vrkprobefilter.
>
> Following is the code that generates the image of view 3:
>
> vtkParametricSpline* vtkpPs = vtkParametricSpline::New();
>
> vtkpPs->SetPoints(pts);
>
> vtkParametricFunctionSource* vtkpPfs = vtkParametricFunctionSource::New();
>
> vtkpPfs->SetParametricFunction(vtkpPs);
>
> vtkpPfs->SetUResolution(500);
>
> vtkTransform *xfm = vtkTransform::New();
>
> xfm->Translate(0, 0, 70);
>
> vtkTransformPolyDataFilter *xfmPd = vtkTransformPolyDataFilter::New();
>
> xfmPd->SetInput(vtkpPfs->GetOutput());
>
> xfmPd->SetTransform(xfm);
>
> vtkAppendPolyData *appendPD = vtkAppendPolyData::New();
>
> appendPD->AddInput(vtkpPfs->GetOutput());
>
> appendPD->AddInput(xfmPd->GetOutput());
>
> vtkRuledSurfaceFilter *rsf = vtkRuledSurfaceFilter::New();
>
> rsf->SetInputConnection(appendPD->GetOutputPort());
>
> rsf->SetResolution(500, 500);
>
> rsf->SetRuledModeToResample();
>
> rsf->Update();
>
> vtkProbeFilter* probe = vtkProbeFilter::New();
>
> probe->SetInput(rsf->GetOutput());
>
> probe->SetSource(pFrame->m_wndView.m_pImageData);
>
> probe->Update();
>
> vtkImageData *imagedata = vtkImageData::New();
>
> imagedata->GetPointData()->SetScalars(da);
>
> imagedata->SetDimensions(500, 500, 1);
>
> imagedata->SetSpacing(1, 1, 1);
>
> imagedata->Update();
>
> vtkImageMapToColors* colorMap = vtkImageMapToColors::New();
>
> colorMap->PassAlphaToOutputOff();
>
> colorMap->SetActiveComponent(0);
>
> colorMap->SetOutputFormatToLuminance();
>
> colorMap->SetInput(imagedata);
>
> colorMap->SetLookupTable(pFrame->m_wndView.m_LookupTable_GrayScale);
>
> this->m_pImageActor = vtkImageActor::New(); //resulting view 3
>
> m_pImageActor->PickableOff();
>
> m_pImageActor->SetInput(colorMap->GetOutput());
>
> m_pImageActor->SetOrigin(0.0, 0.0, 0.0);
>
> m_pImageActor->SetPosition(0.0, 0.0, 0.0);
>
>
>
> -----Mensagem original-----
> De: sercani [mailto:sercanimailgroups at gmail.com]
> Enviada em: terça-feira, 15 de junho de 2010 04:09
> Para: l.a.pereira
> Assunto: Re: [vtkusers] panoramic view
>
>
>
> Hi Luis,
>
> Could you manage to solve the panaromic view problem? I have to do the
>
> same thing(curved MPR) but vtkProbeFilter is working very slowly, it
>
> couldn't finish the process while the input data set is a 512*512*48
>
> imagedata and the source is a ruled surface which is created from the
>
> vtkSplineWidget's polydata...If Bill Lorensen send the sample code, can
>
> you also send it to me?
>
>
>
> Sercani...
>
>
>
>
>
>
>
>



More information about the vtkusers mailing list