A two-dimensional slice formed of pixels (376) is extracted from the angiographic image (76) after enhancing the vessel edges by second order spatial differentiation (78). Imaged vascular structures in the slice are located (388) and flood-filled (384). The edges of the filled regions are iteratively eroded to identify vessel centers (402). The extracting, locating, flood-filling, and eroding is repeated (408) for a plurality of slices to generate a plurality of vessel centers (84) that are representative of the vascular system. A vessel center (88) is selected, and a corresponding vessel direction (92) and orthogonal plane (94) are found. The vessel boundaries (710) in the orthogonal plane (94) are identified by iteratively propagating (704) a closed geometric contour arranged about the vessel center (88). The selecting, finding, and estimating are repeated for the plurality of vessel centers (84). The estimated vessel boundaries (710) are interpolated (770) to form a vascular tree (780).