1. A method comprising: receiving a roof image; determining, using a processor, a segmentation of the roof image based on cutting lines associated with roof features; and classifying roof segments based on roof features within the segment, wherein the classifying the roof segments is based on roof features correlation to a roof type pattern.