Try: > writer = MeasureObjects(FileName="/tmp/foo.blah") > print writer.Input # make sure input is valid > writer.UpdatePipeline()
Utkarsh On Wed, Apr 7, 2010 at 11:51 AM, Christian Werner <[email protected]> wrote: > I am sorry, but it seems that I have a general misunderstanding in how to > implement a writer. I actually took vtkImageWriter as a guide to writing > some filter that takes an image as input and writes something to the disk. > Everything seems fine, but I can't test any further since the RequestData > method isn't called at all when I use the filter in the Python Shell (I > cannot acces it anywhere else by the way). I attached my xml files. > > When using imaging filters in Python you would write something like this, > after loading a volume: > > smooth = GaussianSmooth3D() > Show() > > With my writer, I am trying > writer = MeasureObjects() > Show/Update//Execute/GoGoGo/Write/Save/DoSomething/ ... > > Nothing happens. No call to RequestData, which has a vtkErrorMacro just in > the beginning that would show me that it was called. > > > Best regards, > Christian > > > > Utkarsh Ayachit wrote: >> >> You did change your proxy to be a "WriterProxy" or subclass instead of >> "SourceProxy" right? >> >> Utkarsh >> >> On Wed, Apr 7, 2010 at 11:02 AM, Christian Werner >> <[email protected]> wrote: >> >>> >>> Hi! >>> >>> Thanks for the quick reply. I made it a writer and I am now able to >>> access >>> the plugin in Python. That's great, but somehow it doesn't execute. I can >>> now set the FileName (which I forgot to mention in the xml), but I can't >>> get >>> it executed. The plugin is derived from vtkImageAlgorithm, but the >>> RequestData method does not seem to be called. How do I trigger it? >>> >>> Best regards, >>> Christian >>> >>> >>> Utkarsh Ayachit wrote: >>> >>>> >>>> Christian, >>>> >>>> Any reason why you are not making it a writer? To me it doesn't seem >>>> anything different than that except looks like you are not explicitly >>>> specifying the filename (is it hard coded?). >>>> >>>> Utkarsh >>>> >>>> >>>> On Wed, Apr 7, 2010 at 7:16 AM, Christian Werner >>>> <[email protected]> wrote: >>>> >>>> >>>>> >>>>> Hi! >>>>> >>>>> I just wrote a nice mapper which writes some data to the disk, taking a >>>>> volume as input. I thought I could access it from the "Filters" menu, >>>>> but >>>>> this wasn't possible. In future, this mapper should be called from the >>>>> python shell, but there, it isn't known either: >>>>> >>>>> >>>>> >>>>>>>> >>>>>>>> help(MeasureObjects) >>>>>>>> >>>>>>>> >>>>> >>>>> Traceback (most recent call last): >>>>> >>>>> File "<console>", line 1, in <module> >>>>> >>>>> NameError: name 'MeasureObjects' is not defined >>>>> >>>>> >>>>> The plugin-manager however says, that he loaded my plugin ("...is >>>>> definetely >>>>> a paraview plugin..."). It shows up as "loaded" when verifying this. >>>>> >>>>> The plugin is not intended as a writer or something like that, it just >>>>> looks >>>>> at the input and writes something to the disk which Paraview couldn't >>>>> use >>>>> for anything anyway. Here is my xml content: >>>>> >>>>> <ServerManagerConfiguration> >>>>> <!-- This is the server manager configuration XML. It defines the >>>>> interface >>>>> to >>>>> our new filter. As a rule of thumb, try to locate the configuration >>>>> for >>>>> a filter already in ParaView (in >>>>> Servers/ServerManager/Resources/*.xml) >>>>> that matches your filter and then model your xml on it --> >>>>> <ProxyGroup name="mappers"> >>>>> <SourceProxy name="MeasureObjects" class="vtkMeasureObjects" >>>>> label="MeasureObjects"> >>>>> <Documentation >>>>> long_help="Measures objects (connected components) in a volume." >>>>> short_help="Classical measuring."> >>>>> This is classical object measuring filter. >>>>> </Documentation> >>>>> <InputProperty >>>>> name="Input" >>>>> command="SetInputConnection"> >>>>> <ProxyGroupDomain name="groups"> >>>>> <Group name="sources"/> >>>>> <Group name="filters"/> >>>>> </ProxyGroupDomain> >>>>> <DataTypeDomain name="input_type"> >>>>> <DataType value="vtkImageData"/> >>>>> </DataTypeDomain> >>>>> </InputProperty> >>>>> <!-- End MeasureObjects --> >>>>> </SourceProxy> >>>>> </ProxyGroup> >>>>> </ServerManagerConfiguration> >>>>> >>>>> >>>>> If I define the plugin as a filter then Paraview complains about not >>>>> having >>>>> an output port. >>>>> >>>>> Any suggestions? >>>>> >>>>> >>>>> Best regards, >>>>> Christian >>>>> _______________________________________________ >>>>> 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
