Under-Ice Sonar Visualization
Listing 1. pfb Conversion Code Snippets
Load Ice Keel Node and Store as pfb file
/** read input file(s) **/
i = 0;
group = pfNewGroup();
for (i = 0; i < num_files - 1; i++)
{
printf("Make keel: %s\n",files[i]);
bot_switch = (pfSwitch*)
LoadKeel(files[i],limits,i);
pfAddChild(group, bot_switch);
printf("adding switch to group\n");
}
node = (pfNode *)group;
/** optimize input file (optional) **/
node = optimize(node);
/*
* write output file
*/
pfdStoreFile(node, files[num_files - 1]);
/*
* indicate success
*/
return 0;
}
Convert Ice Keel to Performer Node
/***** LOAD AND CREATE A 3D SURFACE **********/
pfSwitch *LoadKeel( const char *file_name,
float *limits, long numfile )
{
/* Declare Local Variables */
pfSwitch *root;
pfGroup *depth_group;
pfGroup *mag_group;
pfLOD *lod_ptr;
pfDCS *dcs12;
pfGeode *ice_geode;
pfCoord coord;
long lod_cols;
long lod_rows;
pfMaterial *material;
long i;
long j;
long status;
/* Create work space to create surface */
arena = pfGetSharedArena();
/* Load vertices, normals and colors */
status = load_data(file_name);
if( status != OK )
{
exit (1);
}
/* Create the KEEL geode */
ice_geode = MakeKeel();
/* Create a group to hold all Depth and
* Magnitude Features of Surface
*/
depth_group = pfNewGroup();
root = pfNewSwitch();
/* Add ice geode to group */
magflag = 0;
pfAddChild( depth_group, ice_geode );
dcs12 = pfNewDCS();
coord.xyz[PF_X] = 0.0f;
coord.xyz[PF_Y] = 0.0f;
coord.xyz[PF_Z] = 0.0f;
pfAddChild( dcs12,depth_group );
pfAddChild( dcs12,mag_group );
pfDCSScaleXYZ( dcs12, 1.0f,1.0f,1.0f);
pfAddChild( root,dcs12 );
pfDelete(dcs12);
/* Return 3D Surface Switch */
limits[0] = -1;
limits[1] = 1;
limits[2] = -1;
limits[3] = 1;
limits[4] = 0;
limits[5] = 0;
limits[6] = 0;
limits[7] = 1;
limits[8] = 1;
limits[9] = 1;
return(root);
}
Understanding the behavior produced by the scattering of sound energy in complex environments, such as under the Arctic Ocean pack ice, is an area of great interest to the US Navy and other navies. Insight into this complex acoustic environment is aided greatly by the simultaneous visualization of the in-water acoustic reverberation and the associated acoustic scattering from the ice keel.
Acoustic reverberation, which also could be called unwanted sound noise, simply is the re-echoing caused by sound bouncing off surfaces in all directions. In the case of the under-ice environment, these surfaces are the ice canopy and ice keels (Figure 4). Because sound energy bounces off objects three-dimensionally, it can be represented as a volume. This volume is referred to as the reverberant volume and can be represented in 3-D by individual volume elements, called voxels. Each voxel is color-coded to match the intensity level of the sound energy reaching it. Similarly, the intensity of the sound energy bouncing directly off the embedded ice blocks, called acoustic scattering, also is color-coded for intensity. The central idea behind the UEV software is to create an animated display that enables the user to interpret better the behavior of ice block scattering, as well as some of the space-time properties of the reverberant volume.
Individual nodes within the scenegraph represent the 3-D display of the information of interest, that is, the acoustic scattering from the surfaces of the ice blocks. Each block is formed as a six-faced polygonal surface, with each face colored to represent the target strength of the acoustic scattering from that face. To conserve memory and decrease rendering time, only those surfaces above a predetermined threshold are lit for any given acoustic scatter time interval. Turning the faces of the keel on or off is accomplished through the use of switches attached to each facial node. The reverberation associated with a given acoustic scatter interval is represented by a color-coded volume consisting of thin stacks of voxel volumes representing the reverberation for a given water depth. Again, these component reverberation volumes are addressed individually as nodes within the scenegraph. Figure 5 graphically illustrates the code snippets for the nodal structure of the ice facets and reverberation volume given in Listing 2. The advancement or regression of the acoustic scatter-reverberation display is controlled by the bezel. The display can be set to either continuous update mode or manual step mode. For any given time interval, the user can view any combination of ice block scattering and reverberation information, including blocks ensonified, lit within the entire ice keel; only the ice blocks of interest lit; the entire reverberation volume; or a user-selected depth slice of the reverberation volume.
Today’s modular x86 servers are compute-centric, designed as a least common denominator to support a wide range of IT workloads. Those generic, virtualized IT workloads have much different resource optimization requirements than hyperscale and cloud applications. They have resulted in a “one size fits all” enterprise IT architecture that is not optimized for a specific set of IT workloads, and especially not emerging hyperscale workloads, such as web applications, big data, and object storage. In this report, you will learn how shifting the focus from traditional compute-centric IT architectures to an innovative disaggregated fabric-based architecture can optimize and scale your data center.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
| Non-Linux FOSS: Seashore | May 10, 2013 |
| Trying to Tame the Tablet | May 08, 2013 |
| Dart: a New Web Programming Experience | May 07, 2013 |
- New Products
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Home, My Backup Data Center
- RSS Feeds
- What's the tweeting protocol?
- New Products
- Trying to Tame the Tablet
- Dart: a New Web Programming Experience
- IT industry leaders
1 hour 7 min ago - Reply to comment | Linux Journal
17 hours 56 min ago - Reply to comment | Linux Journal
20 hours 28 min ago - Reply to comment | Linux Journal
21 hours 46 min ago - great post
22 hours 20 min ago - Google Docs
22 hours 43 min ago - Reply to comment | Linux Journal
1 day 3 hours ago - Reply to comment | Linux Journal
1 day 4 hours ago - Web Hosting IQ
1 day 5 hours ago - Thanks for taking the time to
1 day 7 hours ago
Enter to Win an Adafruit Prototyping Pi Plate Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Prototyping Pi Plate Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- Next winner announced on 5-21-13!
Free Webinar: Linux Backup and Recovery
Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.
In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.






Comments
This portakaLLas..
This portakaLLas..