Seed points biased with a variable #18958
-
Hi, ViSiT developers, Presently, ViSiT fetches seed points for integral curves on a uniform grid point intervals. In this case, some unwanted field lines are included. This can be refined by including an option to choose field lines based on some variable. This option enables one to pick right field lines for a desired magnetic structure especially solar active regions. This option is available in VAPOR, of course some other features are not. I would suggest the developers to consider this suggestion. Please see this paper, how a visualisation software is use for solar applications P. Vemareddy, 2019, ApJ, 872, 2, 182 thank you ! |
Beta Was this translation helpful? Give feedback.
Replies: 7 comments 5 replies
-
@vema1818 we chatted about this in our project meeting. We were not entirely sure we understand the request. Short of reading the 15 page article (thanks for that ref by the way), we were wondering about this... Do you mean that you would like to maybe use a variable to threshold the dataset (creating one or more disconnected regions that are above threshold) and then select seed points (maybe randomly) from within the various disconnected regions of the threshold? If so, there is a way you could do this now using a combination of VisIt's GUI and a small bit of Python scripting code. We'll outline the basic approach here and then if you are aiming to use this approach to actually do the seed points the way you want, we can iterate on some of the details here...
We understand that it would be more convenient to have this activity all packaged up into a nice optional feature in the IC operator. However, if you were trying to make progress with existing interface, the above steps outline a possible approach. |
Beta Was this translation helpful? Give feedback.
-
@markcmiller86 thanks for answering my suggestions. I have quite a bit difficulty to implement the procedure in python. but I am sure that may not be the desired solution. Appreciates for the python script. I know how to create a new variable using a python script, but don't know how to modify the ViSiT variables through python interface. Seed points biased with a variable defines the locations as well as density. For example in the paper I shared, there are locations along interface of opposite magnetic polarity, the field lines are quite dense where as other locations are less. This is due to electrict current distribution at the base. I am sharing the screenshot of VAPOR visualization (sorry, this was done in 2019). Uniform gridded locations of seeds applied by a threshold, as you are explaining, does not help to give this kind of seed distribution. Hopefully, you got what I mean. But the coloring is applied by 3D variable which we don't want. And you can understand the random rake is biased with variables Jtot, by . |
Beta Was this translation helpful? Give feedback.
-
I am trying to understand the idea of a rake for seeding. Within Visit we have a line, plane and a box of seed points (and others). I think of rake as something one drags along collecting rather than seeding. If I take the rake in reverse would it really be a "uniform" plane set of seed points that are perturbed. If I am on the right path, I see it as being a useful option. So "uniform," "semi-uniform" or "semi-random," and "random." Such an option could be applied to all of the seeding source types. With the "semi" option one would take the uniform points and apply a random perturbation to it that is appropriate. For instance a plane of points initially uniform, then randomly perturbed. The one bit is that for 2D sources are they perturbed in 2D or 3D? I could see a user wanting the ability to do either. I would think that a generalized filter could perhaps be developed to perform the random perturbation. |
Beta Was this translation helpful? Give feedback.
-
I forgot to answer the original question - using a variable to include/exclude a seed point. I see how this could be useful. Just not sure of the best path forward. Currently, one option is that seed points can come from field data. So potentially one could externally generate and filter seeds and store the data as field data which could then be used in the operators. That might be the fastest initial path forward. @markcmiller86 - I am trying to remember how one can add field data. As it has been some time, I am not fully remembering the application we had were I developed the field data option. Secondary to that, @markcmiller86 suggestion to threshold is reasonable but adding it to the operators themselves would be ideal but take some work. |
Beta Was this translation helpful? Give feedback.
-
@ARSanderson thanks for your thoughts. As a user I wish it be simple. Everything is there but just wonder to suggest that adding a bias variable in the GUI for a more probabilistic seeds at a location/sub-volume will makes the life simpler. May be you can think of including it in the newer versions of ViSiT. |
Beta Was this translation helpful? Give feedback.
-
@ARSanderson we think it begins somewhere with the contract and adding stuff to secondary variables. |
Beta Was this translation helpful? Give feedback.
-
@markcmiller86 I did some digging and now recall that I added the ability to use field data with the name "Seed Points" as part of the FTLE operator. So the FTLE operator is explicitly adding the field data. Otherwise many of the database readers will add field data. @vema1818 - what reader is being used to read your data?? I am wondering if the seeds could be added to the dataset ahead of time?? |
Beta Was this translation helpful? Give feedback.
@vema1818 - when one creates a vtk dataset there is usually Point or Cell data. Field data is the third type of data. Think of it as ancillary data that does NOT align with the underlying mesh. Here is a simple example: https://examples.vtk.org/site/Cxx/PolyData/FieldData/
Thus when you are generating the VTK files could you generate the seeds points and add them to your output? If the output is already written then the seeds could be generated post-hoc then added/merged with the original VTK file.