In this paper, we develop and test a three-stage algorithm for performing unsupervised segmentation of hyperspectral imagery. Each stage of the algorithm leverages modified clustering methods which incorporate both the spatial and spectral information present within a hyperspectral scene. The ultimate output of the process is a classification map which groups spatially adjoining pixels into a number of distinct regions, each of which can be well-approximated by a multivariate normal distribution. This output is expected to be useful in various target detection scenarios which require accurate estimates of background statistics. Execution time and memory metrics are provided for each stage of the algorithm, along with segmentation proficiency scores as measured against random synthetic data sets. Segmentation results of real-world hyperspectral images are also provided for qualitative analysis. We conclude from the experiments that the algorithm usually performs well in typical overhead views with multiple, spectrally diverse objects to segment, but suffers from reduced accuracy in scenarios where individual regions are exceptionally large or small.