[Paraview] What part of the pipeline is producing the request for
UPDATE_EXTENT?
Mike Jackson
imikejackson at gmail.com
Tue Feb 12 17:14:19 EST 2008
VOI is what the user wants to see.
in RequestInformation we have:
outInfo->Set( vtkStreamingDemandDrivenPipeline::WHOLE_EXTENT(), this-
>DataExtent, 6 );
where this->DataExtent is the entire 7000 x 8000 x 200 image size.
Then in RequestData() we have the following:
outInfo->Set(vtkStreamingDemandDrivenPipeline::WHOLE_EXTENT(), this-
>VOI, 6);
Does that help?
mike
On Feb 12, 2008, at 4:50 PM, Berk Geveci wrote:
> Is the VOI a parameter of the reader? Are you setting the
> WHOLE_EXTENT() to VOI?
>
> On 2/12/08, Mike Jackson <imikejackson at gmail.com> wrote:
>> So I think I finally have this working.
>>
>> In Request Information() I gather the actual full size extents of the
>> data set (7000 x 8000 x 200). In the RequestData() method I get what
>> the user actually wants (VOI), create a new vtkImageData based on VOI
>> information, load the data into the new vtkImageObject, then do an
>> output->ShallowCopy(image); just before the return of the RequestData
>> Method. Do you see any drawbacks to using this type of approach?
>>
>> This seems to work as the RequestData() method is only executing once
>> now.
>>
>> The next thing I have to figure out is how to get some labels that
>> tell the user just how large their data set it. Probably have to go
>> with a Plugin with a custom Qt Panel at this point as I don't see any
>> other way of doing it.
>>
>> In PV 2.6 there used to be ways to get read only properties from a
>> custom filter class and present those to the user. Doesn't seem like
>> those facilities are there any more with PV 3.x
>>
>> Thanks for the heads up.
>> Mike Jackson
>>
>> On Feb 12, 2008, at 12:03 PM, Berk Geveci wrote:
>>
>>> No. UPDATE_EXTENT() is set on the input information during
>>> RequestUpdateExtent(). A reader should NOT set UPDATE_EXTENT(). A
>>> reader should set WHOLE_EXTENT() in RequestInformation().
>>>
>>> -berk
>>>
>>>
>>> On 2/12/08, Mike Jackson <imikejackson at gmail.com> wrote:
>>>> I was under the impression that I needed to set the UPDATE_EXTENT
>>>> like the following in my RequestInformation() method:
>>>>
>>>> outInfo->Set( vtkStreamingDemandDrivenPipeline::UPDATE_EXTENT(),
>>>> this-
>>>>> DataExtent, 6 );
>>>>
>>>> but I think that is a bad assumption for a reader. Is the ParaView
>>>> pipeline actually setting the UPDATE_EXTENT based on what it
>>>> needs to
>>>> render?
>>>>
>>>>
>>>> --
>>>> Mike Jackson
>>>> imikejackson & gmail * com
>>>>
>>
More information about the ParaView
mailing list