Clouds

General Purpose

Clouds does all kinds of distance measurements between objects in a data file. The name clouds comes from the fact that it generates random points inside 3D objects (or a cloud of points) for models and distance measurement distributions. Objects must be created in the object library format using either volume builder for 3D objects or Pick Points for point objects. Point objects may be created with some other program and then read into Pick Points to convert it to object library format. The measurement output is an ascii file with distances in a column format such that it is readable by the user and can be easily cut and pasted into a spread sheet. The user can select one or a number of possible measurements to do in any one measurement run.

Topics

Object Files | Image File | Group Objects | Edit Group | Num random points | Bin random measurements | Number of Bins | Cloud Measurements | Cloud Models


Object Files - are required input for Clouds. They need to be in the object library format and there are currently two types of objects that the program works with.
      1. volume objects are objects created with volume builder. They are a collection of polygons grouped to form 3D objects. When saving a file in volume builder to use with this program, save it in the object library format.
      2. point objects are created in the object library format using Pick Points. The points can be generated using any program that either uses the object library to save files, or writes out a Pick Points file. In the latter case, the file can simply be read in by Pick Points and written back out in the object library format.

Image File - This can be a file or a window. When a window is used, graphics are drawn to the window to show the objects. When objects are grouped, all grouped objects share the same color so that one can tell if the objects are properly grouped.

Group Objects - Objects are grouped such that all small objects that fall inside a bigger object are grouped together. By default this is done by going thru all the objects and testing each object with all the others to see if one is inside the other. When there are many objects, this can be time consuming. The pulldown with options "no pregrouping" and "outer objects in wave" allows you to speed up the process if you can tell the program that the outer objects are in a separate wave from the inner objects. Normally the criterion for automatic grouping is that the center of gravity of the smaller object is inside the bigger object. If there are a lot of small objects that are right on the edge of the big object, this may not work. Toggling on force will force any object that touches the big object at all to be grouped with the big object. Be aware that if outer objects are touching each other then using force could cause outer objects to be grouped together when no pregrouping is used.

Edit Group - Once you have run group, (or even if you haven't), you can edit the grouping of objects. When you hit the Edit Group button, you get a directive to click in the outer object of the group to add to. Once you do that, you can click in any smaller objects that should be part of that group. When you are done, click the same button that now says End Edit. The toggle for show directive popups lets you turn off the popups that tell you what to click once you understand the editing sequence.

Num random points - when sampling an object with random points or making cloud models, tell the program how many random points you want generated. You can enter a different amount for outer objects and inner objects.

Bin random measurements - For measurements involving random points, the results are presented as a histogram if the "bin random measurements" toggle is on or as the raw distances if that toggle is off.

Number of Bins - Sets the number of bins used when histograms are reported for cloud measurements.

Cloud Measurements - This menu lets you create a list of the measurements you want to do. The measurements will be written to the Output dist file which must be entered by the user. A run list is created by using the From and To pulldowns to select which object components to use for the measurement, then hitting Add Setting. Whenever you change the From pulldown, the To pulldown will be updated with the currently implemented combinations enabled. You can add as many measurements to the list as you want. You can also save this run list, using Save Run List, so that if you are doing the same series of measurements on a bunch of data sets you don't have to set it up over and over again. Use Load Run List to load a previously saved run list. Clear List lets you start over in creating your run list. Use the scroll bar to view the list of measurements you will do. When the list is ready, hit Do It and the measurements will be written to the Output dist file.

Measurement elements - There are quite a few combinations of elements that can be used for measurement. Currently implemented measurements are:

From Outer Cloud random pts to Each other
Determines the pairwise distances between the random points generated in the outer cloud.
From Inner Clouds random pts to Other Inner Cloud random
Determines the pairwise distances between random points generated for different inner clouds.
From Inner Clouds random pts to Outer Cloud CM
Determines the distance from each random point in the inner clouds to the outer cloud's intensity-weighted center.
From Inner Clouds random pts to Outer Cloud CG
Determines the distance from each random point in the inner clouds to the outer cloud's geometric center.
From Inner Clouds random pts to Outer Cloud Surface
Determines the distance from each random point in the inner clouds to the outer cloud surface.
From Inner Cloud CM's to Other Inner Cloud CG's
Determines the distance from each inner cloud's intensity-weighted center to each other inner cloud's geometric center.
From Inner Cloud CM's to Other Inner Cloud CM's
Determines the distance from each inner cloud's intensity-weighted center to each other inner cloud's intensity-weighted center.
From Inner Cloud CM's to Outer Cloud CM
Determines the distance from each inner cloud's intensity-weighted center to the outer cloud's intensity-weighted center.
From Inner Cloud CM's to Outer Cloud CG
Determines the distance from each inner cloud's intensity-weighted center to the outer cloud's geometric center.
From Inner Cloud CM's to Outer Cloud Surface
Determines the distance from each inner cloud's intensity-weighted center to the outer cloud's surface.
From Inner Cloud CM's to Outer Cloud ZCenterPlane
Determines the distance from each inner cloud's intensity-weighted center to the outer cloud's central z plane.
From Inner Cloud CG's to Other Inner Cloud CG's
Determines the distance from each inner cloud's geometric center to each other inner cloud's geometric center.
From Inner Cloud CG's to Other Inner Cloud CM's
Determines the distance from each inner cloud's geometric center to each other inner cloud's intensity-weighted center.
From Inner Cloud CG's to Outer Cloud CM
Determines the distance from each inner cloud's geometric center to the outer cloud's intensity-weighted center.
From Inner Cloud CG's to Outer Cloud CG
Determines the distance from each inner cloud's geometric center to the outer cloud's geometric center
From Inner Cloud CG's to Outer Cloud Surface
Determines the distance from each inner cloud's geometric center to the outer cloud's surface.
From Inner Cloud CG's to Outer Cloud ZCenterPlane
Determines the distance from each inner cloud's geometric center to the outer cloud's central z plane.
From Inner Point Objects to Each Other
Determines the distances between all inner points and the distribution of those distances.
From Inner Point Objects to Outer Cloud CM
Determine the distance between each inner point object and the outer cloud's intensity-weighted center.
From Inner Point Objects to Outer Cloud CG
Determine the distance between each inner point object and the outer cloud's geometric center.
From Inner Point Objects to Outer Cloud Surface
Determine the distance between each inner point object and the outer cloud's surface.
From Inner Point Objects to Outer Cloud ZCenterPlane
Determine the distance between each inner point object and the outer cloud's central z plane.
From Inner Point Objects to Region
Creates a set of n concentric regions where the ith region (i in 0 to n) has the same shape as the outer cloud, but the distance between any point in the region and the region's center is ((n-i)/n)^(1/3) times the equivalent distance in the outer cloud. Then, for each inner point, determines the index of the smallest region that contains the point.
From All Point Objects to Each Other
Determines the distance between all point objects and the distribution of those distances.
From All Point Objects to Outer Cloud CM
Determine the distance between each point object and the outer cloud's intensity-weighted center.
From All Point Objects to Outer Cloud CG
Determine the distance between each point object and the outer cloud's geometric center.
From All Point Objects to Outer Cloud Surface
Determine the distance between each point object and the outer cloud's surface.

For measurements involving randomly generated points, the measurements are either reported as a histogram or as the raw distance values depending on whether or not the "bin random measurements" toggle is on. It is not currently possible to generate both the histogram and raw distance values in the same run for the measurements involving randomly generated points.

Cloud Models - writes out a file in the format read by 3DModel so that you can look at the cloud of points in the 3DModel program. The only input is the name of the file to write out. A cloud will be created for every volume object that has been loaded into the program.