Scientific Visualization with ParaView

Show video

Okay. So my. Clocks all say four o'clock so, go. Ahead and get started, so. As I just, mentioned there's a sign-up sheet go around if you've already put your email on I don't need your email a second time. But just have a good count for, what's. Going on so. Today is our second, in the. Scientific. Visualization series. And, today is going to be a little bit more, hands-on. II then then. Last week. To, as best we can do we're not going to we're. Not going to. We. Want to make sure that. You. Know we get through all the slides I guess but, we'll. Do our best there's we have a couple people who are also experts, in using pair of you who will have handle. Things for us so. So, I think everybody will be able to follow along if, you put it if you have it on your laptop or if you're following on on red. Desktop, so. There. We go so today's lecture is on pair, of you and mostly. On the, IU Research desktop, system otherwise known as red and. So. That's where we're going to start we. Talked last, week about this notion of the visualization process, starting. With the phenomenon. Scientists. Tries to figure out the mathematics of that phenomenon, then. Somebody tries. To code that into, a discrete. Steps, algorithm. And then we end up with numbers write numbers and then graphics, and the last two steps then are, kind of what the, scientific visualization process, is about and what we're going to use a. Pair, of you to to. Accomplish. So. Before we get there though for. Those of you who have an account on red this. Is what the desktop looks like it's basically it's. A, supercomputing. That's a supercomputer, that's housed over, at near. 10th in the bypass and, it, has these windows, that let you access it, as if it were kind of a desktop to you this. Slide is a repeat from last week, so. If. Anyone's following along later, you. Can get a carbonate, account which is what whole. Hosts. The research desktop and by. Going to access that ayuda TD you slash accounts, with a capital A and then, on the IU knowledgebase. There's. A page for how to download thin link which, is if you're familiar with VNC. It's. A way of having a remote desktop and it. Compresses. The data and makes things a lot more efficient so thing links thin link is a commercial, version essentially. Using the VNC, protocol. That. Works pretty efficiently. Alright. So, for. Those of you want to follow along who have access, this. Is what the if you when you start thin link you'll get this little pop-up, box the. Server you want to say is red dot uit SIUE, d you so. University. Information Technology Services is, the, UI TS put. Your I you user, name in there and then your password and then click connect. And. When. You do that you'll get another box so, your second box will. Have this second. Line authentic. Authentic. Ation, for. I, use go on to this duo, you.

Know Second line authentication. So that if. Somebody steals your password, they also have to steal your phone in. Order to get, online so mmm. So if you'll probably notice if your phone is missing whereas. You might not notice if someone somehow got your password. So. You'll you'll sign on here, you'll. Get a phone call or a. Text from. From. Duo and then you'll, be connected and you'll get the research. Desktop, screen. So. If anybody's following anybody follow who is trying to follow along. Alright. Three or four of you okay that's fine so so. Eric. And Dave can help if you have any troubles, they guys, good then them. Where. Did you say you were Enrico, no okay you. Already know all this anyway, all. Right so once you have research desktop running there's, basically two choices for starting pair of you one. Is in. The upper left corner there's an applications, menu, there's. A visualization. Submenu, and then. A handful. Of the visualization, software that's. Installed on this particular, system is here so, you can just go down and click on pair of you and. You'll get a window and I'll. Do that in a moment the, other way is if you're comfortable, with the command line and you like moving files around using your command line you. Can use the, amount and a pair of you module, so, there's, a system. For loading and unloading different. Software Suites, when you're on the supercomputers. In case there's conflicts, between things, so. You can you type the commands that are in bold here load module. I should use my mouse, pointer here for. The sake of the zoom, people load. Module pair view and. That. Will. Start. Or get the software ready to go and then you actually have to type the command pair of you and. Then it'll start and here's a little shell window where that happened so, it tells you when you load it which version you're loading you can have we, could have multiple versions of pair of view on the system so you can actually say module load pair of you slash, five. Point five point two or something, like that if you want a different version or, an older version if you have some scripts, and stuff that were specifically written for an older version and a major. Version change breaks those things for you you can still go and can't continue to use a version that you know works so I'm. Not showing that here but if you just add a slash after the pair of you can give a version number and, it'll. Continue to load that that, one for you so. That's one of the nice things about going to the command line that if you go to, the. Menu you're going to get the latest version. So. I'll go ahead and, break. Out of the slides here real quick. And. Close, that and here's my research, desktop, so, if I go applications. Visualization. Pair of you it'll start up it takes a couple minutes or not a couple minutes but a few, moments I should say. And. It'll start up you can see there's a while, I'm while we're waiting there's a terminal button here or I have it up on my icon here you, can get a web browser. Just, cause on, the side well there's pair of you as an aside though the. Fact that there's a web browser on here means if you connect from home you, can actually you're on the IU system, when you're on this thing so if you I use a lot for like, downloading, papers and stuff it's, it's kind of like a virtual. Private network built. Right in all. Right so, I here's pair of you five. Point five point zero and, this. Is kind of the standard, layout for a pair of you I'm going to go to the slides though cuz I have. More. Thorough documentation on, the slides so let's return to. The. Slides. And. We'll go we'll be going back and forth to show things interactively. Alright. So here's. That pair of view window this one has a little bit more this one has a little animation box down here which. We, won't. Really cover in today's lecture but we'll. Talk about it maybe well probably in a lecture maybe next semester I want. To briefly, give. Like a quick overview of pair of you though. So pair of views open source so, it's free you can download it you can compile it it also has pre-built, binaries, for, Linux. Mac and Windows, so. You don't have to compile it which is handy. And. There. Is a company, that supports, it so it's, open source but it has if you want to buy maintenance, for it or you want to hire somebody to extend, it for you there's, a company called kitware which will be on a future slide who. Does commercial maintenance and support it's basically their software, but. They make it available totally. Open-source and, if you make modifications or fix bugs you can send those to them and.

They'll. Evaluate, that and if it's a if it's a good fix they'll integrate. That so. Compare, of you came about really through work with, several National, Lab you. Know US. National, Labs like Sandia, and, Idaho. National Lab and, Berkeley. National Lab. So. This is kind of an overview of what, pair of you looks like later. In the semester we'll talk a little bit about vtk, which is the visualization toolkit, it's another open-source software package, for visualization it. However, doesn't have a user interface it's well, it has user base the, user interface is code, so. You, can type commands or scripting you can type commands and have it do things but it's not really a friendly user interface. But. It it, Priya the pair of you was a good way for people to build visualizations quickly. And, with confidence that, they knew what. That the algorithms, had been thoroughly tested right, and then, that's built on some other things like graphics libraries, data. Sharing libraries, data splitting, libraries and other things and. So on top of that is this green layer which, is pair, of you pair, of you is actually a client-server. System. How. We're gonna use it today though is the client and server all built into one but. In. Future lectures we can talk about again. This will be next semester we, can talk about how to run a client, on say, the big super computer and. The. Server on the big serving Peter and the client on your desktop, and then have data flow back and forth and. So you. Can keep all the main data up on the supercomputer and then transfer it back down working. With research desktop, handle, kind of does a lot of that for you as well because you're only seeing the graphics, come. Down it's, built on QT, and as Python as its main scripting, language and you, can write other custom, apps on top of it including. It. Has some JavaScript, capabilities, for, doing web apps, here's. Kind of an overview of both vtk, and pair. Of you and so these are both from kitware, vtk. Can be scripted in multiple languages by python tickle and java you. Can also coat it with c++. You. Can integrate it into web notebooks, you can do JavaScript. Web pages which. Is something we'll cover and I think November, through, in this lecture series and. Then pair of you takes, me to Kay and adds that tickle you know kind, of common desktop, interface to it the. Name pair of you part of that is from paralyze Abul so if you have stuff running on the supercomputer you, can do some parallel work makes, it a lot faster as. I said I used vtk it only scripts in Python if you want to send, it more, seriously than that you can use C++. And. Then it also has CUDA, which is using. The graphics cards for doing processing and MPI. Which is, data, passing, interface, across, computers. And. So, at least research. Desktop, we're mostly not going to take advantage of a GPU. I'm, going to say so someone, is. Needs. To maybe mute their microphone. I. Think, that. Monster. Rule do you have a microphone you can mute I. See. Who else is uh. And. Let's, see looks like everybody else says their microphone muted okay. All. Right okay. Yes, and so and here's a pair of you with some some data in it and we'll see. That in a moment anyway. Alright, so some of the things pair of you can do or like I said we're not going to cover all of this today but. It can do parallel computation, you can run it on high-performance. Computing systems, in batch mode you. Have the interactive interface, which is what we'll talk about today you. Can like. We have here it'll, run on headsman displays a, virtual reality displays, it'll, also run on kind of big screen virtual reality displace. Changes. Came then you can customize it with scripting, or C++, or generate. Web interfaces, to it, alright. So one. I think maybe one more slide and on pair of you and then we'll get dig, down into it alright so just kind of a brief history I'm, not gonna read all this data but basically, it was originated, around. The turn of the millennium. And. It. Was funded quite a bit by, Los. Alamos and some, by Sandia, National. Lab. And Jim, Aaron's who actually worked at Sandia. Did a lot of that initial work and then passed, it along as an open source thing back to kit where I. Just, have these dates and version, numbers just to show you that it has been fairly, continuously. Updated. So the. Last major release or, semi major at least 5.5 came out in April and. That's five point five point zero there is actually now a five point five point two they come out every really month or two they come out with a smaller. Release so it's really under active development so, if there's bugs and things like I said you, can contribute and they're there fixing things so, so. It's a good tool to use, and have, some confidence in alright, so. I talked about the basic usage again.

Here's That window that we just brought up here it is with some, data which is just this cylinder I, want, to break, there's three. Layers of tools at the top the, top the very top one we're calling the menu bar the, next two we're calling toolbars and if, you're familiar with QT you can see these dotted, lines I should use the mouse these, dotted lines and so. You. Can pull these apart and, move things around these. Vertical. Dotted lines. Segment. Things so you know kind of what belongs together then. There's a pipeline viewer which in this case is very simple it's just the cylinder. And. Then. There's data about or. There's information, rather about the data that you have so here's information about our cylinder, and, we'll see this online in a moment, so. You can inspect that data and then this part over here with the blue background is our 3d view. There's. Several other things you can add earlier. There was an animation view you can see it's turned off there's no checkbox by this time but, you can turn on animation view you can look at memory. Inspector. You, can do, some collaboration, and things like that we, won't cover any of those today but a lot of other stuff built in so it's really more than what I'm gonna show you today all, right so if you want to follow along the, first thing we're do is create something super simple and that's just a cylinder so this just lets us familiarize familiarize. Ourselves with the. Mouse movements. So. At the top of pair, of you I should, say some, of my menus you'll, see are from the Mac interface and, some, are from the Linux interface depends, on what. I was working, with at the moment, and. Then. There's there's always this apply button if when you want to take an action so. I'm, going to do that but first thing I look at the next slide, so. Part of that top, or the middle toolbar with all these camera controls so, if you want to look down the positive, x-axis, or the negative x axis or. Y. Or z axis this. One on the far left over here with arrows basically, says let's reset the camera view there's. Another button that's not showing up here which, once, you have data loaded, yet, let's see it basically finds, the extent of your data and tries to find. All of your data then. There's on, you, can turn on and off this axes and you can undo, camera moves and things like that here's the axes down here at this XYZ. In the. Red. Green and yellow all, right so, let, me go ahead or actually let me go one more slide all right so we're going to create a cylinder, and, once we select, it from the source menu we have to apply it to make it happen pair, of you does have the ability to have Auto apply so anytime you do any action it happens but, you. Probably only want to do that when you're ready for it you, can control the resolution, of the. Cylinder. So by default I only have six polygons.

Around So it'll really be a hexagon, more than us an, extruded hexagon more than a cylinder, and then again if you want to change that resolution you have to apply alright, so let's go ahead and do, that real quick and again, this is really just to familiarize yourself with, the mouse, movement. So here's sources, and, if. Everything's alphabetical, order so Siller is about a third the way down the list nothing. Showed up because I haven't hit apply yet I hit, apply again. You can see it's really a hexagon, more than a cylinder, if. I want to make it look more of a hexagon I can increase, the resolution and, hit, apply so. There's now a lot more polygons, than when, we were seeing before and this, is again going over. The. Inner, the network in, order to interact with that so, pretty. Fairly. Responsive, for that even though it's probably just a couple hundred polygons, you. Can change this how tall it is right, so. Things. Like that right but. That's not too interesting, for us this is again some, mouse movements so I'm using the left mouse button to, click if I use the scroll wheel I can do scrolling. It out if I click on the middle button I can, translate, it and if I click on the, right. Button I, can scale it which also works with the scroll. Wheel and then. The right or, the left batten button rather rotates it you can see the axes down here in the lower left corner mirrors. The movement, so you know which. Direction your, data is oriented. Alright. So let's. Go back to slides so, that's basically a, quick, overview, of the mousing. And. If I can find my mouse. Good so. Quick. Word I mentioned earlier that some of my slides come, from Linux and some come from OSX. The lower one is OSX so it has more of the, blue colors. And. The rounded more rounded, corners for buttons the. Top one I think is both Linux and Windows. And so. You'll, see more the green buttons around so. Just so that you know that if you, see one it's it's the same if yours looks a little bit different, again. There's undo buttons there's separate, undo buttons for making, changes, to the data or the parameters, of the data and then. Specific. Undo buttons if you move, to camera and you didn't want to move the camera but those. Are or, separate. Orthogonal. Things alright, so. We're gonna load some data in a moment some actual data here's. The data for that cylinder though so, in that lower, right, lower. Left rather box, it says, has. This information, properties. That, has another tab information, so, I was manipulating, things and the properties here this, is a scroll bar over, here so there's a lot more data down here mostly. A lot, of stuff we'll just leave it as the default oh and. There's an Advanced Settings button here so if you want even more choices, and. There's also the ability to save properties, and then restore them so if you have a cylinder that's perfect, and you want to have an when you load another cylinder you can you can load in those same values. So. Here's that notion. For saving, properties, and, restoring. Properties, and. You can copy and paste them so if you again, if you have a data set and you've tweaked things just how you want it but you have another data set that's pretty similar you can copy and paste those without having to fill, in all the details. Again. This is the iconography for, the. Macintosh. The. Save, button in particular, looks a little different on the other systems. All. Right under, the, properties, tab. There's. Also a notion. Of display, which. Well it's called display I think a better word and they use that word in parentheses, here is. Representation. Really we're talking about representation. And, this. Pulldown. Menu, that says. Surface, at the moment gives us a lot of quick, to, see. A lot of different see your data in a lot of different ways without. Having to go through a lot of effort and we'll we're gonna try that ourselves. In a moment. But before we do the other tab min is information, which tell it talks about the data so it gives the name of variables, it, gives the type of variables and the ranges, how, many cells are in the data set how much memory it occupies and the, locations, so if, you want to kind of inspect your data really quickly we, have that, all.

Right So let's see all right so let's do some sudo. We're gonna do, some pseudo real data in a moment but. First I wanted. To kind of just show a list of data, types that paraview has kind of natively built in or sometimes. Through plugins. So. Molecular, data image. Files that you can stack. No. Lamps. Is kind of an old system so but a lot of old. Or, so ANSYS of use ANSYS a lot, of different. Software. Products, that produce you know just a lot of different things and I open foam which i think is a finite element tool, so just, a lot of different data you can load and, then, one, of these on this list is. So. You guys find if it's on here. Though. They're not necessarily in alphabetical order so, I was gonna say comma, separated, values is one of them I don't see it on the list but if you just have stuff do, you export, as as, ASCII, numbers you can have. Them copper's comma separated, or even a white space separated, there's, also a pair of you has its own data type and vtk. Upon. Which it's built has its own data type and so, a lot of times those are kind of more than native data file, formats, and so if you want to load things maybe faster. And more reliably, you can use that but, there's all just a ton of different data types different, data data, formats you can load. Different. Data types that you can load especially. For gridded stuff you can have regular grids, grids. That are parallel, but. Different. Spacings. And grids, that are not parallel but, have. Regular. Topology, like the vga structured grid you'll, also have data that's just political so if you have a shape that you want to put in your data set to, match the data you can do that, both points lines polygons. Polygons strips and then you can just have data that's totally unstructured and so a lot of times we have just like point clouds a lot of data that's just here's, where all my objects, are or here's where several objects are as a point cloud you. Can integrate that as well so, except for the points. Though a lot of times if you break things down into unstructured, grids it's going to slow things down because it has to do a lot more processing things. Are a lot more efficient, if they're on a regular, pattern. And, of course I'm showing 2d, there those. Regular, patterns, especially, break, out into three dimensions, as well and. So if you have a volume of data that, works pretty well, all. Right and then, before we jump into some real data. There's. Another in addition to the cylinder, there's another data type called, wavelet, which, is really just kind of some made-up data and it's a nice thing just to. Find. Out how things work quickly, without having to find, some data that you like and. So if you if you, create, a wavelet, so this is the pipeline browser which, I mentioned. Before but. It starts with this built in which basically means this, is the client server so, we're client. Our server is built into us so that's what the built in means and. Then on, that, server, we're gonna have some data called wavelet, and here, it's got a closed eyelid, so it's not being displayed but, as. Soon as you click apply it will open the eyelid and we'll see the data, there's. Some parameters, how large of a data set you want to create and then how you want it centered I'm.

Just Gonna leave these as the default so you'll have a symmetric, data set and then. When we do that and I'll do this live in a moment we. Have a choice then of representations. Of, I'm. Only showing eight, but there's actually nine. Options, we'll. Look at 3d glyphs later so. There's nine default options, so if we have the data well the first one is just the scope. This range, of our data which, is nice if. We have a lot of data and it slows our Machine down it's, nice to start out with the outline just so we know that our data is there and it has kind of the generally the right shape it. Has something called point, Gaussian, which, kind of creates little three is a it's, kind of a merger between points. And the. Glyphs so it just adds glyphs, to each point so, the point tells us the density of our data and where each data point is at it's. Kind of handy for doing that and is also quickly we can also do a two-dimensional, slice through the data and so this shows us this. Wavelet. Pattern, just, a two-dimensional slice right through the middle and then if we want to just see the outer bounds, we have surface, and surface, with edges both show us the outer bounds the one with edges shows us the. Density, of the data right so if we had a an irregular. Grid with a lot more information down at the bottom we'd see that with by putting the edges on there and we, can see just the edges - with wireframe, and since, we don't have the surface we can see through it and then, volume rendering, is kind of a nice, thing that lets you look into the data and, if you have especially of things that you're focused, on particular. Ranges. Of data you, can you. Can make, these, stuff you're not interested, in transparent. And see into your data we'll see we'll. See some of that today. So. This is what it looks like and, I'm going to go back to live, running. It here. So. Here's. My mouse, so. Here's the cylinder I'm going to delete that cylinder so there's a delete button here, and, again built-in means I'm running on client server so, there is a source, so. The their, sources and filters will go with filters in a minute but sources these are basically things that we can just create. From. Scratch and so the very bottom one again it's alphabetical, order is wavelet, it's, got these default parameters, and. I apply it and again it starts off with the outline and then. Over. Here is my display grid and again as I mentioned before really. What at this display information is more about the representation. And so, there's a pulldown menu that, has sets it to outline and. I can choose any of these other things so I can choose this point Gaussian, which. Gives me some crazy, more patterns. They're. A little bit bigger the points actually is just showing me the points on the edges, so.

We're Not seeing into the data at this point so that's one of the difference between the Gaussian, here's, the slice that we saw earlier the. Surface. So. These are all I've ever showed you pictures of these one, of the things though to notice is that whenever I click down here it's. Changing, this value up here as well these are. Connected. Together. And. So this is just uh on, the menu bar is just a quick way, to get to it or. You don't have to go down so these are all the things we've seen I'll. Do wireframe, next and then I'll stop, with volume, all. Right so here's whoops. So. Here's the volume and, you can see there's a little bit of transparency to, it we can see in a little bit in. A later lecture. We'll talk about how. To make things. How. To tweak things but I'll just do a quick thing here that's not. In the slide so I can edit, the. Colors that I'm looking at by clicking on the edit with a little color bar legend there and. If you look here the colors go from blue on the, left to red on the right so this is blue. As low numbers red, as high numbers if I click on this little legend button here it actually tells me what the values are. And. Then this this. Angled. Line here, is transparency. So I can put a point on here and I can fade away different parts of the data set so if, I don't want to see any data except for what's above 200, I can, just put this point here and now I'm only seeing that, range of this data or. If it's the other way around I can. Bring. That number up and lower. It down this way and now I'm going to see more of the, more. Of the blue data because. She'll kind of this data set so. This is just a preview we're going to talk more about color. Mapping and transfer. Functions. On a later lecture but. Anyway so we can adjust things there's also different, if, we like different colors versus, the, red blue there. We. Can we can choose different colors all right so that's a little, aside. On. That alright, we're. Gonna get some real data in shortly. Here. All. Right so, next is one of the menus at the top has these common, filters. And. So, there's basically 11, that it lists in in it's, sort. Of main repertoire, we're, just gonna use a couple of these today probably the contour in the clip but, these all have their own little icons, most. Of the other filters don't get their own icons, and. So you have to go through the menu to find them. So, the one we're going to start with though is this. Contour. Filter which, if familiar you might be more familiar with the term isosurface. So, if you have data and you want to find work specific. Value is and what kind of shape that specific, value takes may be the temperature at 400. Degrees or something like that and you, want to know all the areas that are exactly. 400 reason you know that on, one side is it's hotter on one side it's cooler, then. We use the ISO surfacing, which pair of you calls contouring. And you, can have multiple contours, you don't have to just have a single value, and, so we're going to take our wavelet, and we're going to add a contour, to it and then were going to give it these.

Particular, Values I. Should. Point out so over here, there's. A thing called our T data so. That's just the name of the data produced Y wavelet so this might be temperature, or pressure or something like that if. We want to access scalars, we have to check bot check, mark this compute, scalars box otherwise. Pair, of you will be efficient, and not compute those for us and then, the value we want i so service on is down, here this has this really long number one point five seven or, one 57.0, 909 whatever and. So that value is basically the center, of the. Range right so it calculates, the range and that figures out exactly half, points so by default it'll, create, an isosurface, right in the center. That's, annoying noise, so. Now let's let's, go ahead and do that really quickly. Actually. Let me see what my slides here. Yes. Okay so let's go on back. To our. Research. Desktop. System, I'm gonna get rid of this. Color. Map editor, so. I'm gonna leave it at this strange, color map that I made, it at although maybe. Not let me uh let. Me. At least. Tweak. This back kind of how it was. All. Right. Okay. So we have our wavelet, so here's this onion. Looking thing sliced in half is, our contour, filter so, by I have to have a wavelet selected, if that's what I want to apply it to I click on contour, it. Creates it here but again nothing. Happens the eye is closed, so it's not displaying it if. I scroll down here's. That one point four one five 7.09. Number. So again, these match with. The slide says and it'll apply, it then or when I when I click apply and now, I'm looking at two different things on this screen I'm, looking at both my isosurface. And. The. The, volume rendering so if I want, to not watch, the volume rendering I can turn that off by. Turning off the wavelet, or I, could change my wavelet, to just show me the outline so. Now I know where the bounds. Of my box are by changing that so different. Choices of how we want to go here's. The contour now we know that the data had different colors in it but. Everything is just white here right and so, why is that, well. Actually I don't know why that is in this case. In. This case it's cuz it says solid normal or. No oh. I. Didn't compute scalars for one so. Let's go back to. Compute. Scalars, and apply that alright, so now I have this arti data so, now I have this solid color here so this doesn't match my slides because I was went. Off track a little bit anyway, and my slides the thing still shows up it's grew as whitish, gray and, let's go back to the slides I'll talk about that so the reason it's whitish gray and the reason is that solid color here is because, it's an ISO value right all the values are the same so, it matches our legend, and and. So that's what we're seeing now. If I hadn't messed with a color map what, we would have seen is. There. It is. Is. This right and it's like well that didn't really show me anything it's all the same color well that's because in. Our color map we're looking at exactly half right, and half in, this color map that I started with is. White, so. That's, why the thing looks white I could, color it by something different which we saw a moment ago when I said normals. Right so why. No color well because white is our center of our graph all. Right if I want to do some additional work and see, something with the isosurface, I can set the clipping plane and. So. Let me do that real quick and then after we do that we'll jump into some, real. Data so. Let's. Go back to online. All. Right so I want, to select wavelet, again because I want to clip the wavelet not the contour, I could choose the contour but I'm. Not going to so. There's. Wavelet, and now I applied it again my color map doesn't match because I was messing around but now. You can see wherever I can see through the isosurface, we can see the color inside there I, just, moved the plane. And. I can reapply that and so. We can we can adjust that if I want to not, have that contour in my way I can turn it off and, again. I can move the plane with this little control. Panel, here oops, slide. It around and then I have to hit apply to make that take effect. If. I want, to go, down a different orthogonal, axis, there's. A quick way to do that with the either, command. Or control so there's the z-axis, I, just hit command Z on the Mac or control Z on another.

Machine Or if I want to make it the y-axis, it'll. Just pop to that axis really quickly so it makes it so I can change. The orthogonal. There's. Another tool that lets you reorient. It non-orthogonal, II oh here. We go so, if I grab the arrow I can non-orthogonal. E or, E at the data if I want to slice it in different ways as, well. All. Right. Right. Oh and to do that I have to have this clip one highlighter right if I have the contour highlighted, then, my clip is fixed, so if you don't want it to be, messed. Around just. Turn select, something else oops. And. I can turn my isosurface, back on as well all, right let's. Go back to the slides. Oops. There. We go Oh slides. Nope. Right. Right, and so it has the arty data is basically the data I could color it by normals. Just to get something that looks different right. So, I'll, show this in a minute when we load up some more data but this. This chooser box over here tells me all the different data or ways I can represent it so I can choose a solid color, right. And now I actually do have a solid color it's a solid not based on the color map or, I can color based on normals, and so, it normals, has its own color map which is back to my default red blue one and, so normal, is you know the direction. The, orthogonal. To the tangent at, any place right so you. Can see it's kind of based on where there's curvature. Well. That's normal - not normal to the ISO surface though so don't be confused, by that it's, normal, to the. To. The data itself, and. Then. The data that we generated, is this RT data and. I can isosurface, or contour by, with. Whichever, value well any of the scalar, values. Right. So I had that's why I had to produce the scalar values. All. Right let me go back. All. Right so I. Did. This one. All. Right and just, highlight. If you few control X control Y control Z you can kind of jump around from angle, to angle alright, so I'm gonna press this button here that has two computers with an X and I. My slide says reset pair of you but, in fact what. This does is it breaks the connection between a client and server which. Has the side effect of resetting parity of cleaning out your data set so this. Is just kind of like a shortcut it doesn't really have us delete, everything button, because. This accomplishes, that all. Right so we're going to do a couple, of real-world examples. And. First. I'm going to. And. So we've. Been. Given permission to use some data from research, that we worked with the. First we're gonna look at is from Chuck Horowitz, who. Has this Nuclear Posture data. And. So the goal of our the, advanced, visualization labs. Working, with Chuck and this least this one particular, instance was, basically create some videos so, for him to explain. His science to other, people and. So here's a still from that video I'm. Guessing we'll have time at the end and I can show a couple of videos that, were, produced purely, in flow well in pair, of you along, with like some slides that with. Explanatory. D volume, well. It's actually not a 3d bomb when it starts it starts as a point cloud of. What. Is it day of neutrons, neutrons, in. An atom. Nuclei. All right. Nuclei, and so we have point data but, what we really want what he really wants to know is, where. Are those. Point. Where those nuclei concentrated. Right so, what we do is we take the point cloud data and, do. An operation called Gaussian, splat, which basically means wherever there's a point we're, going to say there's, material. In, a and decreasing. Li. Spread. Range. Around that point and we're going to block we're going to chop up the data, into, regular, grids and so, wherever there's a point we'll put a little bit of data we'll, put you know a lot of data in whatever grid cell it's in and then some of it will spread into neighboring, cells and then, we'll have a density.

3. By a 3 dimensional. Density that we can use so, one of the things we did and we're not going to do that today is we pre, modified. The data we took the point, cloud data and, we, actually we can create. A Python, script that would do this for us write Python, script. Loads. The data. Does. Loads the Gaussian splat says this is the grid dimensions, we want and then, we'll output, the data into, say a piece of etk our pipe pair of view format, and. Then once we've done that we can just use that data set which is what we're going to do. So. A, couple. Of features of the simulation, is that one it's it's time varying, the time changes, so, there's a different, several. Different time step files. So each one of those is processed, separately with this Gaussian splat with, all the same parameters, though so they all match up, pair, of you has. A couple of ways of loading time varying data one is you can have a single file that has all the information with, like a time stamp for each bit of information or, you, can have multiple files and if, those, files all have a number in it that say the same number. Of digits long pair, of you assumes, that those, are all, going. To be a sequence, of data so. If. You happen to be have. Several steps which I did this earlier and I probably, should have used a, B and I should have used a B and C for a step where, a B and C were like discrete, steps not not time. Steps because if you put files in like you. Know test1, like, you were experimenting test2 and your experiment test3 it'll, think oh those are just three different time steps of test so. Anytime you have matching. Numeric file names a pair of you makes that assumption you don't have to you can you can kind, of avoid that but anyway. Generally. That's pretty handy so, we're. Going to go ahead and load this data so I've put. This data on the research desktop, in our pair of u folder. In. A data directory so we have if. You go to the high-performance computing file, system. Everything starts with n there were software, there's software, for Red, Hat Enterprise seven, and, then, under Red Hat Enterprise seven, is all the packages, that are on that particular. Operating. System so everything on our research desktop, is under there including. Paraview and then I created a data. Directory under that and then a. Subdirectory, of that for. Professor. Horowitz is data. So. In order to load it you have to kind of file navigate, to there there's, this data set that starts. With fifty one two, hundred and keeps, going under. That directory, is something called Oh time underscore, and these two dots here are the are, the digits, so pair of you will hide those for you there's, actually a five digit number there and so. Pair of you shows you this and says these two dots basically tell you that's a time sequence where, these pair of you assumes it's a time sequence and so. That's what it's going to load so, oh, here. It is here so this count we're kind of going clockwise here so here's my file browser, it. Starts in my home directory for carbonate, but I want to go to n soft, our Red. Hat pair of u data Horwitz and so, if I navigate to there it'll, then bring me to that window and then it'll show me there's another directory. Which, is this one that starts with fifty one thousand, two hundred so. I click on that and then. I'll get Oh time, dot, dot vtk but if I look in the files, this, isn't one file this is actually 400 or 500 files with. Different numbers on it and so it just assumes those are all different times and when. I do that which I'll do in a moment, I'll. Be able to do those same operations, we saw with the wavelet, here's. That, pseudo. Point Gaussian thing here's the slice here's. The. Grid I think, here's the volume rendering, here's the surface so, we're going to stick mostly with the volume rendering, and.

Again So this is the same stuff we just saw with, different things in here I think we're, choosing a value called charge. In. This data set and. Let's. Go ahead actually now I'm going to I'm going to show you the next slide and then so the next thing I'm going to do when I'm over there on research desktop is I'm going to animate the data so it's varying and it'll, start with a time where everything has this kind of most. More uniform. Data this is probably time step 50. Or something like that and then, as time goes the. Material starts clumping, into. These little balls and. So. This. Is kind of what'll happen upon the top of pair of you one of the toolbars was this animation bar so, if I just press the green triangle, the standard play button it'll. Start sequencing, through the time and it tells me so there's, actually 597. Data steps or probably. 598. Right so zero is gonna be the first one. So the 598, data steps and it'll step one by one through that data if I want to change you know jump faster there's ways to do that but that's. For another lecture so, this is what I'm gonna do we're gonna jump over then to the research. Desktop and do. All those things if I can remember them so, again. We. Will I. Can. Find here it is the reset button sudo, reset button. Alright. And I'll do file, open, I can, also go to recent file since I've already opened it at one point but, I'll just do it the long way so file, open you can see it goes to my home directory I can. Type. That path. And. Then. Click on navigate, I guess, I do, the Horowitz one I guess well I'll just click on navigate now that'll. Show me the different data sets we have I can double click on Horowitz double click on this one and now I have my Oh time. Vtk. If, I click on the arrow now. It actually shows me the names of all the files no. Actually they're quite there, it's not just five digits it's about ten digits or so but there's you can see all the different files there that, it's treating, as, one. File with time, and if I say ok it's. Loading it will have to hit apply to load it, again. It starts with the outline I, can. Do points. Right. Now that everything is white because I have it set to solid color so charge is our data and so. Once I click charge I can see the data and again we'll jump to volume rendering and so. Here's that volume render you can see on the edges you can actually see through the edges a little bit wherever it's. Very minimally. Dense and. Zoom in zoom out. Okay. And. What did I say well the next thing I was going to do was just press play so here's our animation. Controls I can. Just press play, and. Again you can see it started off with this kind of more more or less uniform, density and. It's. Stepping through that somewhat. Slowly, volume. Rendering takes a little bit more time to render here's, the time step advancing. And again here's the max 597. I. Can. Jump ahead right, so I can stop this, pause. It and. If I want to just jump to say 200, I can. Hit 200, and hit enter and now. Let's. Expand it a little bit and now we see these little, spaghetti. Sort. Of noodles. And. So. We can do that we can jump around in time I can advance, it one or two at a time and stop I can. Go to the beginning I can. Go to the end. Which. Expands, a little bit. And. I can single, step here as well alright. So those are our really, simple animation, controls yeah. Right. This is all live yes. I, don't think you're limiting CPU, time so. Carbonate, is a shared system so if I bring. Up one of my windows here I can, see who else is logged in alright. So there's several people logged in, many. Of them have several. Windows there's. Actually I don't know I don't remember how many nodes are do you know whatever how many nodes are for carbonate. Ok, so. There's. I. Don't. Know if I want to say that necessarily. There. Is a limit so carbonate has, 256. Gigabytes, of RAM that. You're sharing with these other people now, your capped at 75 gigabytes, so, so. But, that means still if four of you all want seventy five gigabytes at the same time you're going to use up all the memory in the system, and, so there, is there, is a monitor, that makes. Sure that your semi-nice, but it might not catch you right away right so you can get away with some stuff if, you notice, on the the, desktop, if.

I Move this out of the way there's this interactive, job shell which. Will basically put you into a queue where you can have another note all to yourself and so you can run stuff off of there now. I don't know how that I haven't tried that to see how that deteriorates, because now you're going another hop and, so I don't know if how that deteriorates, interactivity, you, know graphic interactivity, right no you can do terminal, interactivity, and start batch jobs, with. That or, you know it takes it, can take 30 seconds to you know I don't know five minutes to get a node because again, now you have to wait for a node to be free right. Right. I'm just doing it yeah and I'm doing it I'm not doing it on a login node I'm doing it on an actual big node yeah. Yes. If you have if people are if, if there are multiple bad neighbors on the same machine there. Could be a problem if, there's just one bad neighbor that you might get away of this. Well. So. Right. But, actually Ed's, had some things where he's done photogrametry stuff where it's killed him after a, while. Of processing. I think if, you don't do the all right maybe it was an ad but somebody, was doing some photogrammetry not, using interact ed was using interactive job actually so wasn't ad but, there. Was something where somebody was doing right. On the terminal and it was saying you've, had you've you, know that's your limit. Right. Yeah. Yes. And well actually we'll talk about saving work later. In a little bit. Yes. Okay very good so. Let's. Go I think, I did everything that my I'm. Caught up to where we covered. The slides. So. Let's go back to the slides, oh. Where. I'm. Talking slow, apparently, because we only have 25 minutes left. Or. Too, much detail. Okay. So I want to do one more thing with this data set something. You know slightly, advanced you'll notice nothing right here is really super advanced, really. A lot of the work that go, into some of these things is figure out what one or two things you need and then, choosing the right colors and then you have something you can use. To get. Some insight out of your information so. For this data set we're going to do one more thing and that is figure. Out what, once, we contour, it so. Actually so we've been looking at the volume data now we're going to go to contour, and. And, do that onion slice thing to, a value that's about half of this. Data set so we're gonna here's, both contour. And volume we're going to turn off the volume and just have the contour then we want to do is say what data is linked so, in the early parts a lot of the data is linked together so there's just a handful of different things and you, can see how some of the threads go through the data later. On it's, a lot of independent, data the problem is of course is that our eyes really only do a good job of distinguishing, between a handful of colors so, even. Though we, use the mouse even. Though you, know this, blob over here is green and this blob over here looks green they're not connected. Right but. We don't have enough colors to distinguish it if. Is, there a way to randomize, Dave the. ID so, that colors would be like not, next to each other. All. Right so I think in the past we figured that out but yes.

Right. So one, of the problems that is we've I so surfaced it and were you Isis surfacing will when, we threw it throw through this connectivity, filter, it. Will produce an ID for every different chunk you, can see though that it, does this in a in a non-random, order by default at. Least and so all the purple stuff all the zero through. You know 100, or 50 IDs, are this violet. Then, the next then it kind of steps through in the next 50 or so are kind of a purplish. Color. So. Anyway with. A little bit more work we could probably randomize, it and then you get a better idea what's, connected. So. Again so now we're going to do, these steps that I have in my slide. We're. Going to turn off just, the regular view that's the volume rendering after, we do the contour, filter so we'll just have the volume the contour filtering, then. We're going to color it and we're colorize, it by discrete, steps so I'm going to take that color map that we had before and chop it into twelve, chunks. And we'll choose a color map that has more colors in it than the red through blue one and. I'm going to set my range of values, for the color map to 0 to 400 and I'll explain that why. I do that live to. See what that will actually we'll use the information tab to see that so actually down here, tells. Me so this. Data rise box this is part of the information thing tells. Me what time step I was on it. Tells me the ID range. Once. It's gone through the connectivity. Filter from, 0 to 365, so I just rounded up to 400, so there'll be 400 different blocks if I were earlier, on in the data set there might only be like 3 or 4, chunks. Together like this upper right picture. Here and, see there's only a handful of colors and. So the range would only show me 0 to 10 or something like that and if I made that my range for the color map then. Everything's, gonna be capped at that value, anything that's above 10 would, always be whatever color is on the top in this case Orange, and. So, that's not going, to be too helpful so what I did was I went to the end of the data or, near the end of the data step 591, and figured out what is the range there and then I use that to set my, color range and then. I'll press play to. See, what happens so let's go back to our. Desktop. All. Right oh. Oh. Ok find. My mouse. There. We go. So, I have, ohed I'm selected, so we're going to filter, on that so there's this filters button which we haven't used too much. The. Common, ones are the ones that wheel already looked at this list with all the icons so those are already on the menu there's. A whole bunch more including, if I go to this alphabetical, list you, can see it doesn't even fit on the screen and some, are gray and some are black so all the black ones of course are the ones that I could potentially, potentially apply, to this. Type of data set although that, doesn't mean it makes sense it's just the ones that a, computationally. Something would happen and. Then the gray ones it's the wrong kind of data but, in order to not find, it so I could actually. Filters.

Alphabetical, I could find connectivity, in here but, that can take a while so in the very top option, is search and so, if I just start typing. Co. And it'll. Find all the ones that kind of match that it even finds ones that don't quite match it like an engineer, contingency. To statistics doesn't have two ends but. The top one matches perfectly so if I hit. Enter, I'll get, the connectivity, filter and. I. Don't think I may, need changes. Oh my. I've. Been doing this like all a. Few. Days oh. Yes. That. Is correct, thank you so, I made I made a mistake that, was not so, pair. Of you probably. Shouldn't have crashed though but you. Know, here's I think I may have saved that state let's see I mean before today before here. So, I'm gonna take an aside and talk about saving your work so. One of the things pair of you does is under file there's this load state save state. And. So. I've saved some already but I may not have saved it right at the right spot but let's. Find out so I have load State this. Is that data set I. Don't. See it there let's, go up to horowitz there we go oh yeah. So here's the console I already saved this the contour of state so I can actually I saved. My work at this point earlier when, I was preparing for this lecture, I. Was. Gonna talk about that well I have a slide on that we'll talk more about that in a minute alright so here I am back to where I'm supposed to be and then as I was supposed to contour, first as Eric pointed out, I wasn't supposed to do connectivity, on this because it's. Just it's, just a volume at that point now, it's geometry. With. Connectivity. Possibilities. And so, that's what I want to figure. Out the connectivity, mesh on and so let's search for that. Alright. And now we'll, click apply and it. Won't crash excellent, alright and so there's our data, set it looks like it. Already divided. The data I don't. Remember doing oh yes that's because I saved my state right so, earlier. Today when I was and, yesterday when I was working on the slides our. Part, of saving the state was to mess with the color map which I was going to show you by, hand but let's take a look at it anyway so down. Here in the coloring section. I'm. Coloring, by region ID right. So that's what connectivity, produced is the. ID of, each. Connected. Object, so. That's good I want to color by that and, I want to adjust what, I'm coloring by so here's I chose. This color map that's kind of a rainbow ish not perfect rainbow but has, some discrete jumps and then, I said, down. Here, and, the, lower-right let me make. Raise. This up a little. Bit in. The lower right of my paraview window I checked, desc discretize. And I, set the number of discreet colors. To 12 so I can make that you. Know something else 21 here and then I have to I don't. Have to apply the color map alright, and so that happened and so, if I want to have these discrete colors that's how I can do it and actually. You know it's, always discrete if I just make it really. Big number then it doesn't look so discrete right but it in fact it's always slightly, discrete. I'll. Leave it at 30 all, right and then I'm gonna close this window, here alright and so. Again it's. Not really a random order because the thing that was figuring out connectivity, started, in one location and moved through the data figuring. Out you can see that you, know this region here this purple one, it. Go extends, fairly far into the data set and you can see some that kind of go beyond where. They started, so we get some information out of that but again it would if we did if we had random colors it would probably be a little easier to tell. All. Right oh and so I can. Say. Jump back in time oh. And. Let me show you them that I set the color range with this one so. This button here so next to the color ring I set.

It To start with zero and go to 400, and the, reason I chose that is. From. What I showed earlier the information, tab so, right now it tells me there's 52 regions. 0 through 51 but. If I were to go to the end of the data it. Tells me there's 3 are 58 retour 3 and 59 regions. And. So that's why I chose that big, right so let's go back to the beginning and. I'll. Press play so. There was all one region at the beginning and now it's already dividing up and. So it's chunking into these different sections and so. Again we can animate this it's, a little bit slow because it's doing a bit of processing, and this, is where later in, another lecture we. Can we could have it write, those out as image files and then later we could turn that into a movie so that we don't actually have to wait for the processing, every time here. It's not too bad but in if you're doing kind of a little bit more computation. Or you have a bigger data set then. You might want to do that. All. Right so I'm, not gonna wait till it finishes. But. Let me let's, jump ahead though so let's. Jump ahead to say, 300. Here. All. Right so again we're still if you know where the information is changing here, right so there's still only a hundred different, values. Or so connectivity, section so we're not all the way through our color map so it's limiting. In what it's showing us. And. I'll do one more jump let's jump to. 450. There. We go so now we have a little bit more of the full. Extent of the color map and because, everything is. Kind. Of broken down into lots, of little different. Collectables. Okay. So, that's. What we're going to look at for that data set and we have 15 minutes left the. Next one is. From. Professor, Vespa rainy. So. Let me go back to slides. All. Right. And. We'll do this when I get back there I'll reset it so, professor Vespa reading is sharing his data with us as well oh oh. So. Here's the slide, on saving state right. So I already, showed you the save state load States so I just, showed you loading it you can also of course saving it it'll save all the parameters exactly, how you had it and then. So. I saved. It earlier if you wanted to jump right in you could jump right to the last one where I have the at connectivity. State @pv, FSM. Is pair of you state machine or state model. And, so it has this format it's it's actually Python code so it's it's a Python script that will reload everything back to the way it was and. Then when, you load it I clicked, I click past it really fast where I was showing it earlier but, it actually gives you three choices for. How, the file name should match right, so in, this case I was right in the same spot where I had saved it I was on the same machine and, so, the data was right where I had left it but if I say take that state file and move it to a different machine and the data is maybe slightly different I can, either have it search for the data for me under, a directory or I can just find, the data say this is where the data is change, the path to that data and then it'll pick up from there so you have those three options when you mode it if. You're on the same computer the. Option where, you don't have to do anything is is, there all. Right, so. We'll reset pair of you and then this is Professor Westbury nice data set so animation, we did for. Him. And his postdocs, and again. This was done mostly, for public, display or display to other scientists, to look at the data this. One has so, this one is also, has point data but in this case instead of density. Of points these are moving points because there are stars. Orbiting. Through. Gravitational. Fields here, they are kind of clustered together here's that cluster.

Spinning. Off stars, right you. Can ask professors West bringing if you want more information about that. So. We're gonna show a data set though one of the sub data sets that. He and eunsuk. Hong had was how, binary, star systems interact with other. Random, stars that come through so, we're gonna look at that so that we can kind of trace the path so let me go back to that previous slide so. You can see in here we have the points but, we also have these little trailers, to see how things are moving so. We get an information about. Time, even. From this still image not. So much in this one other where you can see everything's moving around rather fast, and looks like kind of randomly so, you can see things are moving it's hard to tell exactly what's, going on though. Okay. So. Again. This. Time we pre process data but only to get it into a format that a, PT. K or pair of you knows about so, so that we were provided the data from, that came was the output of star, lab and body simulation, you. Can correct me if I make any mistakes here there we go we, converted that to a vtk format so that, it. Would all be pre-processed, you could write a script that loads it from here and then process, it every time but since, we were going to be dealing with it several times it was just easier to process, at once so. If we look on carbonate. On red they'll under that data directory there'll be one called B collision, underscore, o5 so there are several binary. Star collisions, runs so. Oh, five, is the one where I have, loaded up and. Young, Chui Kong's data is. What that is so, each star in this case. In. The. In, the case for the horowitz data we, created IDs for clumps but, each particle, we didn't really care which particle was from time step to time step now. We care right so the star bought Star lab simulation. For. Every star, that's moving through the space it, uniquely. Identifies, it with a number so. Some of the stars go out of the simulation and we don't hear from them again and. So that number that ID number just goes away but if we want to go from step to step and know that we're seeing the same star. We. It has to be identified and so that's done for us with star lab and so each star, has an ID which is just an integer that says which one it is again. We're, looking at multi time step data and it's. The star, collisions. So. What we're going to do oh and so the data that comes with it actually there's several things so, there's. The ID but, each star has a mass it, has a type which I don't remember what those are that's, a velocity and it has this other V. Phi which professor. Of uh Sabrina can explain if he, chooses but. We only care about the ID right, now they, also have locations although though you won't see that in the list of datasets so I put that in italic. So. That's just kind of there it's part of the 3d representation. We're. Going to color them by ID so that we can distinguish them if, we colored them by mass they all have pretty much the same mass so they'd all look the same color and we wouldn't be able to tell tell, them apart so much we're. Gonna represent them as 3d glyphs which, starts by default as an arrow, which, you might think well has velocity so that's good we could have like this arrow represent, the velocity the. Problem is even, though the stars are relatively, moving to each other they're, also all moving, in the same direction so really, the, velocity, of their their. Bigger. Movement. Overpowers. Which direction they are moving relative to each other so so arrows. Actually doesn't work so we're gonna set up the spheres cuz they're stars anyway, you, can set the resolution to be more spherical. We're. Gonna leave it at low resolution, well one, of the things we did when we were making the animation was when, we were processing things, we did low resolution, but when we were making the final animation we, said it's much higher resolution spheres.

2018-09-30

Show video