Thanks a lot! The code worked on the first go! Thank you very much for saving me that much time!
Best, Christian -----Ursprüngliche Nachricht----- Von: Eric E. Monson [mailto:emon...@cs.duke.edu] Gesendet: Dienstag, 16. März 2010 17:13 An: Utkarsh Ayachit Cc: Dressler, Christian; paraview@paraview.org Betreff: Re: [Paraview] Use existing texture map for 3D surface Hey Christian, Something like this should work: # ============= pdi = self.GetPolyDataInput() pdo = self.GetPolyDataOutput() numPts = pdi.GetPoints().GetNumberOfPoints() Uarray = pdi.GetPointData().GetArray('U') Varray = pdi.GetPointData().GetArray('V') tc = vtk.vtkDoubleArray() tc.SetNumberOfComponents(2) tc.SetNumberOfTuples(numPts) tc.SetName('TCoords') for ii in range(numPts): Uval = Uarray.GetTuple1(ii) Vval = Varray.GetTuple1(ii) tc.SetTuple2(ii,Uval,Vval) pdo.ShallowCopy(pdi) pdo.GetPointData().AddArray(tc) pdo.GetPointData().SetActiveTCoords('TCoords') # ============= -Eric On Mar 16, 2010, at 9:37 AM, Utkarsh Ayachit wrote: > Christian, > > Sorry I've been meaning to write up a quick script for you. For > starters take a look at: > > http://www.paraview.org/Wiki/Python_Programmable_Filter > http://www.paraview.org/Wiki/Python_recipes > > Here's the algorithm: > * Create a new vtkDoubleArray (or another vtkDataArray subclass) with > 2 components and number of tuples = number of points. > * Get access the to two input arrays you want to use an texture coordinates. > * Iterate over each value in the two array and insert them as the two > components in the new array > * Set the new array as the TCoords in the output's point data. > > Utkarsh > > On Tue, Mar 16, 2010 at 6:38 AM, Dressler, Christian > <christian.dress...@medizin.uni-leipzig.de> wrote: >> Hi Utkarsh, >> >> could you give me some hints or catchwords how to realize that filter? >> Perhaps a link to tutorial you recommend? >> >> >> Best, >> >> Christian >> >> -----Ursprüngliche Nachricht----- >> Von: Utkarsh Ayachit [mailto:utkarsh.ayac...@kitware.com] >> Gesendet: Freitag, 12. März 2010 16:13 >> An: Dressler, Christian >> Cc: paraview@paraview.org >> Betreff: Re: [Paraview] Use existing texture map for 3D surface >> >> The problem is that the uv array needs to be marked as "Texture" >> attribute for the PointData. You can write a PythonProgrammableFilter >> which generate an output with the Texture coords setup correctly. Let >> me know if you need help with that. Also remember this filter will >> have to combine the two "u" and "v" arrays produced by >> vtkTableToPoints into a single array with 2 components. >> >> Utkarsh >> >> On Fri, Mar 12, 2010 at 10:05 AM, Dressler, Christian >> <christian.dress...@medizin.uni-leipzig.de> wrote: >>> Hi Eric, >>> >>> Unfortunately this does not work. Neither for the point cloud, nor for the >>> surface. It does only work after generating a map by paraview, but this is >>> the wrong map. >>> >>> I also tried to rename the columns header the way paraview does, but it did >>> not work. I am looking for an option similar to the "table to points >>> filter", where I am asked which column has which meaning. >>> >>> Thanks, >>> >>> Christian >>> >>> >>> -----Ursprüngliche Nachricht----- >>> Von: Eric E. Monson [mailto:emon...@cs.duke.edu] >>> Gesendet: Freitag, 12. März 2010 15:54 >>> An: Dressler, Christian >>> Cc: paraview@paraview.org >>> Betreff: Re: [Paraview] Use existing texture map for 3D surface >>> >>> Hey Christian, >>> >>> If your data already has valid texture coordinates, highlight your surface >>> in the Pipeline Browser. You should be able to go to the Display tab of the >>> Object Inspector and in the Color section there is an Apply Texture combo >>> box that should not be grayed-out if everything is ready for texturing. If >>> you pull down to Load... it will let you load your texture image and you >>> should see it on your surface. >>> >>> Let us know if you have problems, >>> -Eric >>> >>> ------------------------------------------------------ >>> Eric E Monson >>> Duke Visualization Technology Group >>> >>> >>> On Mar 12, 2010, at 7:51 AM, Dressler, Christian wrote: >>> >>>> >>>> Hi, >>>> >>>> I am trying to reconstruct data generated by a surface scanner with >>>> paraview. The data is structured as xyzuv arrays. I managed to calculate >>>> the surface by using the filters "Table to points" and "Delaunay 2D". >>>> >>>> But I could not figure out, how to apply the texture to the surface. The >>>> uv-coordinates have the same format as the maps generated by the paraview >>>> texture filters (normalized position of bitmap). >>>> >>>> How can I make paraview using my own texture map? >>>> >>>> >>>> Best, >>>> >>>> Christian >>>> ____________________________________________ >>>> Dipl.-Ing. Christian Dressler >>>> Research Associate | Working Group - S-DICOM Solutions >>>> >>>> Universität Leipzig | Faculty of Medicine >>>> Innovation Center Computer Assisted Surgery (ICCAS) >>>> Semmelweisstr. 14 >>>> D - 04103 Leipzig >>>> Germany >>>> >>>> phone +49 (0) 341 97 - 12018 >>>> fax +49 (0) 341 97 - 12009 >>>> christian.dress...@medizin.uni-leipzig.de >>>> http://www.iccas.de/?id=430 >>>> ____________________________________________ >>>> >>>> _______________________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Please keep messages on-topic and check the ParaView Wiki at: >>>> http://paraview.org/Wiki/ParaView >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://www.paraview.org/mailman/listinfo/paraview >>> >>> _______________________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Please keep messages on-topic and check the ParaView Wiki at: >>> http://paraview.org/Wiki/ParaView >>> >>> Follow this link to subscribe/unsubscribe: >>> http://www.paraview.org/mailman/listinfo/paraview >>> >> > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the ParaView Wiki at: > http://paraview.org/Wiki/ParaView > > Follow this link to subscribe/unsubscribe: > http://www.paraview.org/mailman/listinfo/paraview _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview