1. A method for combining at least two unregistered three-dimensional (3D) image data sets to generate a composite image from the data sets, comprising: dividing each of the data sets into a plurality of bricks along three mutually orthogonal axes, wherein each brick is further subdivided into a plurality of blocks along the three mutually orthogonal axes; merging the blocks into a hierarchical tree structure for each of the at least two data sets, with each block being a leaf node and a root of each tree structure being a union of all blocks that correspond to the data set; expanding, using a computing device, one tree to cover a full space of the at least two 3D image data sets by adding an expanded root that covers all image data sets, and by adding internal expanded nodes for the other tree structures, wherein each expanded node has one or more boundary faces defined at infinity; and traversing the expanded tree top down from the root to render the expanded data set, wherein each brick of an image data set volume is tested with all bricks of other image data sets whether they overlap, wherein if a common region exists, rendering is performed.