Selection and Data Analysis: Difference between revisions

From ParaQ Wiki
Jump to navigationJump to search
(Initial dump of my notes.)
 
mNo edit summary
Line 1: Line 1:
There has been much work done already on selection in ParaViewIII. Previous discussion includes [[Selection_Use_Cases]], [[Selection_In_ParaQ]], [[Selection]], [[Selection_Implementation]] and [[Integrating_Interactive_Selection]]. Several improvements need to be made before the upcoming full release in order to improve useability and fully support quantitative analysis.
There has been much work done already on selection in ParaViewIII. Previous discussion includes  
[[Selection_Use_Cases]],  
[[Selection_In_ParaQ]],  
[[Selection]],  
[[Selection_Implementation]] and  
[[Integrating_Interactive_Selection]].  
Several improvements need to be made before the upcoming full release in order to improve useability and fully support quantitative analysis. To put it simply, we want ParaView to have intuitive selection capabilities (note the plural) and we want it to be easy to filter and/or perform quantitative analysis on the results of a selection. Previous discussion of quantitative analysis in paraview includes
[[PGraph_Implementation]],
[[Plot_Data_Pipeline]],
[[Statistics_View]],
[[Plot_View_Management]],
[[Data_Analysis_Design]] and
[[Client_Side_Delivery]].


== The feature wish list ==
== The feature wish list ==
   tiny drop down next to selection button to choose surface, frustum, single point selection
   pick point in space (on surface) or type coords in.


   frustum selection - this was in long long ago. it uses vtkFrustumExtractor. Need to put it back in.
   frustum selection - this was in long long ago. it uses vtkFrustumExtractor. Need to put it back in.
 
     gui interface through a tiny model drop down next to selection button to choose surface, frustum, or single point
  pick point in space (on surface) or type coords in.
 
  saving and reusing selection:
     when we make a selection we should be able to reuse it when the pipeline changes
    for instance applying a filter to just the output of the selection
    or changing the resolution of a source that was selected and getting more cells out
    should we save output of selection or input of selection?
    if we save the input to selection for surface selection, the results will be meaningless if the camera has been changed.
    the answer is somewhere inbetween, we will save the output of the selection operator.
    for surface selection - that means a list of cell ids to extract
    for volume selection - that means a frustum to extract
    both types can (theoretically) be put into a vtkSelection structure and extracted.
    when we play back to extract the pipeline will have inputs and the selection and be able to generate proper outputs


   picking by global ids, pedigree id, proc+cell/pt id
   picking by global ids, pedigree id, proc+cell/pt id
     we need to be able to choose a list of IDs manually
     we need to be able to choose a list of IDs manually we'll start by letting user pick a single point
     we also need to be able to manually refine the list of selected ids
     we also need to be able to manually refine the list of selected ids
     we might extend the element inspector to do this or [[Statistics_View]] to do this while being careful to show ranges when appropriate to avoid long lists of cells
     we might extend the element inspector to do this or [[Statistics_View]] to do this while being careful to show ranges when appropriate to avoid long lists of cells
Line 33: Line 32:
     choose bars in histogram and use the output as input to a threshold filter
     choose bars in histogram and use the output as input to a threshold filter


   implementation have one global "selection" and let user toggle its visibility
  saving and reusing selection:
    when we make a selection we should be able to reuse it
    example 1) applying a filter to just the output of the selection
    example 2) changing the resolution of a source that was selected and getting more cells out
    should we save output of selection or input of selection?
      if we save the input to selection for surface selection, the results will be
      meaningless if the camera has been changed.
      the answer is probably somewhere inbetween, we will save the output of the selection operator.
      for surface selection - that means a list of cell ids to extract
      for volume selection - that means a frustum to extract
      both types can (theoretically) be put into a vtkSelection structure and extracted.
      when we play back to extract the pipeline will have inputs and the selection and be able
      to generate proper outputs
 
  could expose the selection filter in the pipeline view
 
   implementation could have one global "selection" and let user toggle its visibility
     we are not 100% sure we want to do it this way
     we are not 100% sure we want to do it this way
     the selection will show up in pipeline browser
     the selection will show up in pipeline browser
Line 41: Line 56:
     low level picking classes can do this, need to expose the pickable property on the gui
     low level picking classes can do this, need to expose the pickable property on the gui
     pipeline browser - seems natural to relate this to the EYE
     pipeline browser - seems natural to relate this to the EYE
     purpose is for masking, so the existing pickable property may not be enough (as is if unpickable it is ignored entirely) for visible cell determination need a new render flag that says render me as background
     purpose is for masking, so the existing pickable property may not be enough (as is if unpickable
    it is ignored entirely) for visible cell determination need a new render flag  
    that says render me as background


   data analysis
   data analysis
Line 49: Line 66:
       in XML say what output of each filter/source can and prefers to be
       in XML say what output of each filter/source can and prefers to be
       have icons in pipeline browser that lets you choose
       have icons in pipeline browser that lets you choose
  anchoring selection in space or to ids (plot vals at location over time or plot vals of an id over time)
  choice of interpolation or using nearest neighbor (probe vs pick)


   label ids -  
   label ids -  

Revision as of 16:57, 29 January 2007

There has been much work done already on selection in ParaViewIII. Previous discussion includes Selection_Use_Cases, Selection_In_ParaQ, Selection, Selection_Implementation and Integrating_Interactive_Selection. Several improvements need to be made before the upcoming full release in order to improve useability and fully support quantitative analysis. To put it simply, we want ParaView to have intuitive selection capabilities (note the plural) and we want it to be easy to filter and/or perform quantitative analysis on the results of a selection. Previous discussion of quantitative analysis in paraview includes PGraph_Implementation, Plot_Data_Pipeline, Statistics_View, Plot_View_Management, Data_Analysis_Design and Client_Side_Delivery.

The feature wish list

 pick point in space (on surface) or type coords in. 
 frustum selection - this was in long long ago. it uses vtkFrustumExtractor. Need to put it back in.
   gui interface through a tiny model drop down next to selection button to choose surface, frustum, or single point
 picking by global ids, pedigree id, proc+cell/pt id
    we need to be able to choose a list of IDs manually we'll start by letting user pick a single point
    we also need to be able to manually refine the list of selected ids
    we might extend the element inspector to do this or Statistics_View to do this while being careful to show ranges when appropriate to avoid long lists of cells
    proposed updates to element inspector
      ids shown
      enter in an id (or ids)
      tab formating
      especially for frustum show ids without expanding to much
 tie histogram to selection
   choose bars in histogram and use the output as input to a threshold filter
 saving and reusing selection:
   when we make a selection we should be able to reuse it
   example 1) applying a filter to just the output of the selection
   example 2) changing the resolution of a source that was selected and getting more cells out
   should we save output of selection or input of selection?
     if we save the input to selection for surface selection, the results will be 
     meaningless if the camera has been changed.
     the answer is probably somewhere inbetween, we will save the output of the selection operator.
     for surface selection - that means a list of cell ids to extract
     for volume selection - that means a frustum to extract
     both types can (theoretically) be put into a vtkSelection structure and extracted.
     when we play back to extract the pipeline will have inputs and the selection and be able 
     to generate proper outputs
 could expose the selection filter in the pipeline view
 implementation could have one global "selection" and let user toggle its visibility
   we are not 100% sure we want to do it this way
   the selection will show up in pipeline browser
   any "Apply" will clear the selection
 need to be able to make props unpickable in the gui somehow
   low level picking classes can do this, need to expose the pickable property on the gui
   pipeline browser - seems natural to relate this to the EYE
   purpose is for masking, so the existing pickable property may not be enough (as is if unpickable
   it is ignored entirely) for visible cell determination need a new render flag 
   that says render me as background
 data analysis
   many filters will produce 1D rectgrid - all of which can be plotted
   polydata with one vertex - example output of max
   concept of prefered views
     in XML say what output of each filter/source can and prefers to be
     have icons in pipeline browser that lets you choose
 anchoring selection in space or to ids (plot vals at location over time or plot vals of an id over time)
 choice of interpolation or using nearest neighbor (probe vs pick)
 label ids - 
   want ids of points and cells to be drawn in the render window
   have to be careful to use global ids in parallel for piece invariance
   have to be careful not to clutter view with too much text - n% of pixels show id
   great to be able to display any particular attribute value
 should be able to select blocks within a multiblock dataset
 multiple selections (sub selections) (refining selections)

Implementation

  Flesh out vtkSelection with the additional required selection types. 
    ids
      surface ids (aka output of visiblecellselector) proc+cell/pt ids 
      globalids or pedigreeids similar to ids
    frustum - bounds in 3D space
    point in space
    thresholds