Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesThe RasDaMan Query Language


January 1998 / International Features / Sorting Terabytes / The RasDaMan Query Language

The following medical-imaging example illustrates the basic concept of the Raster Query Language (RasQL).

To stack sequences of CAT scans into 3-D volume tomograms (VTs), assume a collection called VolumeTomograms containing VT objects with an MDD-valued attribute cube. The upper bound of t he z dimension is left var iable, thus allowing for dynamic growing and shrinking of the cube.

The operation "From all VTs, cut along the three spatial axes through point (x0,y0,z0)" reads in RasQL as follows:

select
  vt.cube[ x0,  *:*, *:* ],
  vt.cube[ *:*, y0,  *:* ],
  vt.cube[ *:*, *:*, z0  ]
from VolumeTomograms as vt

For each operation available on the MDD cell type, a corresponding so-called induced operation is provided, which simultaneously applies the operation to all cells of an MDD. Both unary (e.g., record access and contrast enhancement) and binary (e.g., masking an image) operations can be induced.

In addition to these basic operations, general constructs are available that let you compose complex queries involving histograms, aggregations, convolutions, and the discrete Fourier transform (DFT).

Because of the large size of the data items involved, support for partial MDD updates is important. Thus, the SQL update statement is extended in RasQL to specify an MDD cutout on the left side of the assignment clause. The operation "Append another CAT scan to a VT" reads in RasQL as follows:

update   VolumeTomograms
   set cube
   [ *:*, *:*, spatial_domain
   (cube)[2].hi+1 ] = 
   <CAT scan data>
where   ...


Up to the International Features section contentsGo to previous article: MDBMSes at WorkGo to next article: The Third DimensionSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network