Salt body interpretation is important for building subsurface models and interpreting seismic horizons and faults that might be truncated by the salt. Salt interpretation often includes two steps: highlighting salt boundaries with a salt attribute image and extracting salt boundaries from the attribute image. Although both steps have been automated to some extent, salt interpretation today typically still requires significant manual effort. From a 3D seismic image, I first efficiently compute a salt likelihood image, in which the ridges of likelihood values indicate locations of salt boundaries. I then extract salt samples on the ridges, and these samples can be directly connected to construct salt boundaries in cases when salt structures are simple and the boundaries are clean. In more complicated cases, these samples may be noisy and incomplete, and some of the samples can be outliers unrelated to salt boundaries. Therefore, I have developed a method to accurately fit noisy salt samples, reasonably fill gaps, and handle outliers to simultaneously construct multiple salt boundaries. In this step of constructing salt boundaries, I also have developed a convenient way to incorporate human interactions to obtain more accurate salt boundaries in especially complicated cases. I have performed the methods of computing salt likelihoods and constructing salt surfaces using a 3D seismic image containing multiple salt bodies.