In recent years, in many applications in both science and industry, we have come under mounting pressure to accommodate massive amounts of data. For example, witness the explosion in the quantity of high-resolution audio, imagery, video, and other sensed data produced by relatively inexpensive mobile devices. Similar scenarios arise in such diverse application areas as medical and scientific imaging, genomic and biological data analysis, and digital communications. Despite extraordinary advances in computational power, the data produced in such settings continues to pose a number of challenges. Fortunately, in many cases this data is highly structured and actually contains a comparatively small amount of information. The research supported by this grant investigated how we can leverage such structure to completely change the way that we acquire and process data in these applications. This involved a careful study of the underlying mathematical models that can be used to capture this structure as well as the impact of real-world problems such as "noise" that might contaminate our data. By understanding this underlying mathematics, we can do a better job of designing novel types of cameras and other sensors. Moreover, these results form the foundation for developing algorithms that can help computers to automatically extract the information in this data to perform a variety of increasingly important tasks.