1. A computer program product for segmenting blood vessels, the computer program product comprising a computer readable storage medium having program code embodied therewith, the program code executable by a processor to: receive at least one angiogram frame; preprocess the angiogram frame, wherein the preprocessing includes taking a gradient of a standard deviation of pixel intensities; perform bottom-up filtering of the preprocessed angiogram frame; perform top-down segmentation of the preprocessed angiogram frame based on the results of the bottom-up filtering; iteratively repeating the bottom-up filtering and the top-down segmentation until the difference between results of the top-down segmentation from consecutive iterations is equal to or below a threshold value; outputting the results of the top-down segmentation based on a determination that a difference between results of the top-down segmentation from consecutive iterations is below or equal to the threshold value.