[Paraview] [Paraview-developers] vtkImageData Plugin, vtkImageData not rendered

Joachim Pouderoux joachim.pouderoux at kitware.com
Mon Jan 16 14:11:13 EST 2017


Gerald,

I think there is the problem with this:
if (!this->HasNewData())
  return 1;

It means that most of the time, the filter will return an empty output.
Instead, you should cache (retain a pointer off oLatest as member variable)
the last image and ShallowCopy it to the output in this case.

Something like:

    if (this->HasNewData())
    {
        this->OLatest = this->m_poInternal->GetLatestImageData();
    }

    if (this->OLatest)
        poOutput->ShallowCopy(this->OLatest);

Best,

*Joachim Pouderoux*, PhD

*Technical Expert - Scientific Computing Team*
*Kitware SAS <http://www.kitware.fr>*


2017-01-16 4:12 GMT-04:00 Lodron, Gerald <Gerald.Lodron at joanneum.at>:

> Hi
>
> I uploaded a cleaned version of the reader without gui component to
> https://expirebox.com/download/b5db956fb2b0787ac16ef9b42e46698a.html
> (again 48h available). The GUI has included a timer which polls on the
> HasNewData() function and if it returns true it forces an update of the
> request data function.  I copied that workflow of the PCLPlugin of Paraview
> of the Kinect OpenNI Source….. the commented code also displays the *.vti
> writing....
>
> Best regards,
> Gerald
> Von: Joachim Pouderoux [mailto:joachim.pouderoux at kitware.com]
> Gesendet: Freitag, 13. Jänner 2017 15:45
> An: Lodron, Gerald
> Cc: Paraview Developer (Paraview-developers at paraview.org); Paraview User (
> paraview at paraview.org)
> Betreff: Re: [Paraview-developers] [Paraview] vtkImageData Plugin,
> vtkImageData not rendered
>
> Could you share the code of your reader? If you prefer you can remove all
> specific stuff and keep only VTK related stuff.
> I would like to see how exactly you fetch the output grid to fill and how
> your filter defines its output.
> Best,
>
>
> Joachim Pouderoux, PhD
> Technical Expert - Scientific Computing Team
> Kitware SAS
>
> 2017-01-13 3:17 GMT-04:00 Lodron, Gerald <Gerald.Lodron at joanneum.at>:
> Nope, the data is then nearly empty (<1kByte), hiere the vti writer output:
>
> <VTKFile type="ImageData" version="1.0" byte_order="LittleEndian"
> header_type="UInt64">
>   <ImageData WholeExtent="0 -1 0 -1 0 -1" Origin="0 0 0" Spacing="1 1 1">
>     <Piece Extent="0 -1 0 -1 0 -1"
>             >
>       <PointData Scalars="21745593">
>         <DataArray type="UInt8" Name="21745593" format="appended"
> RangeMin="1e+299"               RangeMax="-1e+299"              offset="0"
>                  />
>       </PointData>
>       <CellData>
>       </CellData>
>     </Piece>
>   </ImageData>
>   <AppendedData encoding="raw">
>    _
>   </AppendedData>
> </VTKFile>
>
> Here the mhd header which I usually prefer, the “DimSize” is 0,0,0:
> ObjectType = Image
> NDims = 3
> BinaryData = True
> BinaryDataByteOrderMSB = False
> CompressedData = True
> TransformMatrix = 1 0 0 0 1 0 0 0 1
> Offset = 0 0 0
> CenterOfRotation = 0 0 0
> ElementSpacing = 1 1 1
> DimSize = 0 0 0
> AnatomicalOrientation = ???
> ElementType = MET_UCHAR
> ElementDataFile = test.zraw
>
> Von: Joachim Pouderoux [mailto:joachim.pouderoux at kitware.com]
> Gesendet: Donnerstag, 12. Jänner 2017 22:28
> An: Lodron, Gerald
> Cc: Paraview Developer (Paraview-developers at paraview.org); Paraview User (
> paraview at paraview.org)
> Betreff: Re: [Paraview-developers] [Paraview] vtkImageData Plugin,
> vtkImageData not rendered
>
> OK. That's weired, your VTI is correct.
> And what if you save the output of your filter/reader with ParaView "Save
> Data"? Is data correctly saved and reloaded correctly?
> Joachim
>
>
> Joachim Pouderoux, PhD
> Technical Expert - Scientific Computing Team
> Kitware SAS
>
> 2017-01-11 8:14 GMT-04:00 Lodron, Gerald <Gerald.Lodron at joanneum.at>:
> i have uploaded the vti onto
> https://expirebox.com/download/60e7c1e8d177f282ae90d42f75e5ae50.html
> the link is 48h accessible
>
> when I load the vti into paraview everything is visualized correctly
>
> Von: Paraview-developers [mailto:paraview-developers-bounces at paraview.org]
> Im Auftrag von Lodron, Gerald
> Gesendet: Mittwoch, 11. Jänner 2017 12:07
>
> An: Joachim Pouderoux
> Cc: Paraview Developer (Paraview-developers at paraview.org); Paraview User (
> paraview at paraview.org)
> Betreff: Re: [Paraview-developers] [Paraview] vtkImageData Plugin,
> vtkImageData not rendered
>
> Sorry for my late reply:
>
> “21745593” is correct, that’s the UID string of the sensor/camera which
> generates the vtkImagedata, I set the string from its SDK…. I will try
> writing the vti file for you….
>
>
>
> Von: Joachim Pouderoux [mailto:joachim.pouderoux at kitware.com]
> Gesendet: Dienstag, 10. Jänner 2017 19:09
> An: Lodron, Gerald
> Cc: Paraview Developer (Paraview-developers at paraview.org); Paraview User (
> paraview at paraview.org)
> Betreff: Re: [Paraview-developers] [Paraview] vtkImageData Plugin,
> vtkImageData not rendered
>
> Hmm sorry if I had took a closer look I would have seen that
> AllocateScalars set a default name "ImageScalars" to the scalar array.
> Then don't know what you did but the print says that the name of your
> array is "21745593" which is quite strange. Is it what you did?
> Could you write your "output" image data to a .VTI file using a
> vtkXMLImageDataWriter after initializing it in your RequestData
> function and see if you can load in with PV and view it? Share it if you
> can't.
> Best,
>
>
> Joachim Pouderoux, PhD
> Technical Expert - Scientific Computing Team
> Kitware SAS
>
> 2017-01-10 2:00 GMT-04:00 Lodron, Gerald <Gerald.Lodron at joanneum.at>:
> Here i printed my vtkImageDataOutput of my plugin in  Request data, may
> that helps…:
>
> output vtkImageData (00000087ABEB1260)
> Debug: Off
> Modified Time: 870183
> Reference Count: 1
> Registered Events: (none)
> Information: 00000087AC049A90
> Data Released: False
> Global Release Data: Off
> UpdateTime: 195896
> Field Data:
> Debug: Off
> Modified Time: 870094
> Reference Count: 1
> Registered Events: (none)
> Number Of Arrays: 0
> Number Of Components: 0
> Number Of Tuples: 0
> Number Of Points: 1920000
> Number Of Cells: 1917201
> Cell Data:
> Debug: Off
> Modified Time: 870179
> Reference Count: 1
> Registered Events:
> Registered Observers:
> vtkObserver (00000087ABC476A0)
> Event: 33
> EventName: ModifiedEvent
> Command: 00000087AC0495E0
> Priority: 0
> Tag: 1
> Number Of Arrays: 0
> Number Of Components: 0
> Number Of Tuples: 0
> Copy Tuple Flags: ( 1 1 1 1 1 0 1 1 )
> Interpolate Flags: ( 1 1 1 1 1 0 0 1 )
> Pass Through Flags: ( 1 1 1 1 1 1 1 1 )
> Scalars: (none)
> Vectors: (none)
> Normals: (none)
> TCoords: (none)
> Tensors: (none)
> GlobalIds: (none)
> PedigreeIds: (none)
> EdgeFlag: (none)
> Point Data:
> Debug: Off
> Modified Time: 870183
> Reference Count: 1
> Registered Events:
> Registered Observers:
> vtkObserver (00000087ABC475B0)
> Event: 33
> EventName: ModifiedEvent
> Command: 00000087AC0495E0
> Priority: 0
> Tag: 1
> Number Of Arrays: 1
> Array 0 name = 21745593
> Number Of Components: 1
> Number Of Tuples: 1920000
> Copy Tuple Flags: ( 1 1 1 1 1 0 1 1 )
> Interpolate Flags: ( 1 1 1 1 1 0 0 1 )
> Pass Through Flags: ( 1 1 1 1 1 1 1 1 )
> Scalars:
> Debug: Off
> Modified Time: 870148
> Reference Count: 2
> Registered Events: (none)
> Name: 21745593
> Data type: unsigned char
> Size: 1920000
> MaxId: 1919999
> NumberOfComponents: 1
> Information: 0000000000000000
> Name: 21745593
> Number Of Components: 1
> Number Of Tuples: 1920000
> Size: 1920000
> MaxId: 1919999
> LookupTable: (none)
> Vectors: (none)
> Normals: (none)
> TCoords: (none)
> Tensors: (none)
> GlobalIds: (none)
> PedigreeIds: (none)
> EdgeFlag: (none)
> Bounds:
> Xmin,Xmax: (0, 1599)
> Ymin,Ymax: (0, 1199)
> Zmin,Zmax: (0, 0)
> Compute Time: 870184
> Spacing: (1, 1, 1)
> Origin: (0, 0, 0)
> Dimensions: (1600, 1200, 1)
> Increments: (0, 0, 0)
> Extent: (0, 1599, 0, 1199, 0, 0)
>
>
>
>
>
>
> Von: Paraview-developers [mailto:paraview-developers-bounces at paraview.org]
> Im Auftrag von Lodron, Gerald
> Gesendet: Dienstag, 10. Jänner 2017 06:49
> An: Joachim Pouderoux
> Cc: Paraview Developer (Paraview-developers at paraview.org); Paraview User (
> paraview at paraview.org)
> Betreff: Re: [Paraview-developers] [Paraview] vtkImageData Plugin,
> vtkImageData not rendered
>
> Hi
>
> Good try but does not effect anything except the string in paraview’s
> combo box. The strange thing is that I also cannot see anything in
> spreadsheet view (empty cell and point data)… but on information tab point
> data and cell data is there….
>
> Von: Joachim Pouderoux [mailto:joachim.pouderoux at kitware.com]
> Gesendet: Montag, 09. Jänner 2017 19:40
> An: Lodron, Gerald
> Cc: Paraview User (paraview at paraview.org); Paraview Developer (
> Paraview-developers at paraview.org)
> Betreff: Re: [Paraview] vtkImageData Plugin, vtkImageData not rendered
>
> Hi Gerald,
> Not sure it is the only issue but please try giving a name to the output
> scalar arrays.
> ParaView won't make visible arrays which don't have a name.
> Example:
>   output->GetPointData()->GetScalars()->SetName("values");
> Best,
>
>
> Joachim Pouderoux, PhD
> Technical Expert - Scientific Computing Team
> Kitware SAS
>
> 2017-01-09 5:20 GMT-04:00 Lodron, Gerald <Gerald.Lodron at joanneum.at>:
> Hi
>
> I programmed successfully a plugin source wich generates a vtkImageData
> output and made it the same way as on my 3d cloud plugins of vtkPolyData.
> The source is inherited from vtkImageAlgorithm and only contains one output
> with unsigned char array and one component.
>
> In the request data function of the filter I currently have a very dummy:
>
> output->SetDimensions(oData.imgSizeX, oData.imgSizeY, 1);
> output ->AllocateScalars(VTK_UNSIGNED_CHAR, 1);
>  memcpy(output ->GetScalarPointer(), &oData.imgData[0], oData.imgSizeX*
> oData.imgSizeY*sizeof(unsigned char));
>
> in paraview I see in the information tab that  I have an uniform
> rectilinear grid with 1917201 cells and 1920000 points (image is
> 1600*1200px). In data Arrays I get an "ImageScalars" of unsigned char and a
> correct range of my memcopy data (my min max range is not 0,255 so data
> seems to be there)...
>
> the problem is that I cannot see anything in the render view, any
> suggestions what I am making wrong? I tested all representation (slice,
> surface, outline, on Solid Color and on my array), never see anything.....
>
> I also compared the Information tab on a loaded jpeg image and cannot see
> any difference (which is rendered in render view except the Array's string
> name), by the way: can I disable "MapScalars" by default?
>
> I am using pv5.2
>
> ------------------------------------------------------------
> ------------------------
> Gerald Lodron
>
> Researcher of Machine Vision Applications Group
> DIGITAL - Institute for Information and Communication Technologies
>
> JOANNEUM RESEARCH Forschungsgesellschaft mbH
> Steyrergasse 17, 8010 Graz, AUSTRIA
>
> phone:   +43-316-876-1751
> general fax: +43-316-876-1751
> web: http://www.joanneum.at/digital
> e-mail: gerald.lodron at joanneum.at
>
> _______________________________________________
> 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
>
> Search the list archives at: http://markmail.org/search/?q=ParaView
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/paraview
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20170116/019aaaa2/attachment.html>


More information about the ParaView mailing list