Sheet-shaped objects can be detected by analyzing a neighborhood of voxels surrounding a test voxel. If the density is sufficiently different, then the voxel is associated with a sheet object. Sheet objects can also be detected by eroding the CT data so as to eliminate voxels associated with thin objects. Remaining objects are then subtracted from the original data, leaving only thin sheet-shaped objects. If the number of voxels having densities below a predetermined threshold exceeds a predetermined number, then it is assumed that the test voxel is a surface voxel and is removed from the object. A connectivity process can be applied to voxels to combine them into objects after sheets are detected. A dilation function can then be performed to replace surface voxels. A corrected mass can be compared to mass thresholds. Bulk objects can be detected by a modified morphological connected components labeling (CCL) approach. A merging process can be used to reconnect related items. The system can also identify objects that contain liquids. The object detection rate and false alarm rate can be adjusted by adjusting individual object detection rates and/or false alarm rates.