Visualization is used when the goal is to augment human capabilities in situations where the problem is sufficiently well defined for a computer to handle algorithmically. Visualization can be used to generate new hypotheses when exploring a completely unfamiliar dataset, to confirm existing hypotheses in a partially understood dataset, or to present information about a known dataset to another audience. If the visualization system needs to deliver interactive response, then it must use algorithms that can run in a fraction of a second rather than minutes or hours. In a human-centered design approach, the visualization designer works with a group of target users over time. Problems from very different domains can map to the same visualization abstraction. Automatically detecting features of interest to explicitly bring to the user's attention via the visual encoding is a useful goal for the visualization designer.