{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T12:13:12Z","timestamp":1763467992524,"version":"3.41.0"},"reference-count":31,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2010,7,26]],"date-time":"2010-07-26T00:00:00Z","timestamp":1280102400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["540872"],"award-info":[{"award-number":["540872"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Graph."],"published-print":{"date-parts":[[2010,7,26]]},"abstract":"<jats:p>Although there has been much interest in computational photography within the research and photography communities, progress has been hampered by the lack of a portable, programmable camera with sufficient image quality and computing power. To address this problem, we have designed and implemented an open architecture and API for such cameras: the Frankencamera. It consists of a base hardware specification, a software stack based on Linux, and an API for C++. Our architecture permits control and synchronization of the sensor and image processing pipeline at the microsecond time scale, as well as the ability to incorporate and synchronize external hardware like lenses and flashes. This paper specifies our architecture and API, and it describes two reference implementations we have built. Using these implementations we demonstrate six computational photography applications: HDR viewfinding and capture, low-light viewfinding and capture, automated acquisition of extended dynamic range panoramas, foveal imaging, IMU-based hand shake detection, and rephotography. Our goal is to standardize the architecture and distribute Frankencameras to researchers and students, as a step towards creating a community of photographer-programmers who develop algorithms, applications, and hardware for computational cameras.<\/jats:p>","DOI":"10.1145\/1778765.1778766","type":"journal-article","created":{"date-parts":[[2010,7,15]],"date-time":"2010-07-15T12:48:46Z","timestamp":1279198126000},"page":"1-12","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":54,"title":["The Frankencamera"],"prefix":"10.1145","volume":"29","author":[{"given":"Andrew","family":"Adams","sequence":"first","affiliation":[{"name":"Stanford University"}]},{"given":"Eino-Ville","family":"Talvala","sequence":"additional","affiliation":[{"name":"Stanford University"}]},{"given":"Sung Hee","family":"Park","sequence":"additional","affiliation":[{"name":"Stanford University"}]},{"given":"David E.","family":"Jacobs","sequence":"additional","affiliation":[{"name":"Stanford University"}]},{"given":"Boris","family":"Ajdin","sequence":"additional","affiliation":[{"name":"Ulm University"}]},{"given":"Natasha","family":"Gelfand","sequence":"additional","affiliation":[{"name":"Nokia Research Center Palo Alto"}]},{"given":"Jennifer","family":"Dolson","sequence":"additional","affiliation":[{"name":"Stanford University"}]},{"given":"Daniel","family":"Vaquero","sequence":"additional","affiliation":[{"name":"Nokia Research Center Palo Alto and University of California, Santa Barbara"}]},{"given":"Jongmin","family":"Baek","sequence":"additional","affiliation":[{"name":"Stanford University"}]},{"given":"Marius","family":"Tico","sequence":"additional","affiliation":[{"name":"Nokia Research Center Palo Alto"}]},{"given":"Hendrik P. A.","family":"Lensch","sequence":"additional","affiliation":[{"name":"Ulm University"}]},{"given":"Wojciech","family":"Matusik","sequence":"additional","affiliation":[{"name":"Disney Research, Z\u00fcrich"}]},{"given":"Kari","family":"Pulli","sequence":"additional","affiliation":[{"name":"Nokia Research Center Palo Alto"}]},{"given":"Mark","family":"Horowitz","sequence":"additional","affiliation":[{"name":"Stanford University"}]},{"given":"Marc","family":"Levoy","sequence":"additional","affiliation":[{"name":"Stanford University"}]}],"member":"320","published-online":{"date-parts":[[2010,7,26]]},"reference":[{"key":"e_1_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1111\/j.1467-8659.2008.01157.x"},{"key":"e_1_2_2_2_1","unstructured":"Adobe Inc. 2010. The Digital Negative Format. http:\/\/www.adobe.com\/products\/dng\/.  Adobe Inc. 2010. The Digital Negative Format. http:\/\/www.adobe.com\/products\/dng\/."},{"key":"e_1_2_2_3_1","unstructured":"2010. The \u00c5ngstr\u00f6m Linux Distribution. http:\/\/www.angstrom-distribution.org\/.  2010. The \u00c5ngstr\u00f6m Linux Distribution. http:\/\/www.angstrom-distribution.org\/."},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1805964.1805968"},{"volume-title":"Proc. Eurographics Symposium on Rendering.","author":"Bhat P.","key":"e_1_2_2_5_1","unstructured":"Bhat , P. , Zitnick , C. L. , Snavely , N. , Agarwala , A. , Agrawala , M. , Cohen , M. , Curless , B. , and Kang , S. B . 2007. Using photographs to enhance videos of a static scene . In Proc. Eurographics Symposium on Rendering. Bhat, P., Zitnick, C. L., Snavely, N., Agarwala, A., Agrawala, M., Cohen, M., Curless, B., and Kang, S. B. 2007. Using photographs to enhance videos of a static scene. In Proc. Eurographics Symposium on Rendering."},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2006.55"},{"key":"e_1_2_2_7_1","unstructured":"2010. The CHDK Project. http:\/\/chdk.wikia.com.  2010. The CHDK Project. http:\/\/chdk.wikia.com."},{"key":"e_1_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1276377.1276506"},{"key":"e_1_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/258734.258884"},{"key":"e_1_2_2_10_1","unstructured":"Durand F. 2009. private communication.  Durand F. 2009. private communication."},{"key":"e_1_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1015706.1015778"},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.5555\/938383.938412"},{"key":"e_1_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/502348.502388"},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1236360.1236406"},{"key":"e_1_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1778765.1778767"},{"key":"e_1_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1201775.882270"},{"key":"e_1_2_2_17_1","volume-title":"ACM SenSys 2006 Workshop on Distributed Smart Cameras (DSC","author":"Kleihorst R.","year":"2006","unstructured":"Kleihorst , R. , Schueler , B. , Danilin , A. , and Heijligers , M . 2006. Smart camera mote with high performance vision system . In ACM SenSys 2006 Workshop on Distributed Smart Cameras (DSC 2006 ). Kleihorst, R., Schueler, B., Danilin, A., and Heijligers, M. 2006. Smart camera mote with high performance vision system. In ACM SenSys 2006 Workshop on Distributed Smart Cameras (DSC 2006)."},{"key":"e_1_2_2_18_1","unstructured":"2010. The Maemo Linux Distribution. http:\/\/maemo.org\/.  2010. The Maemo Linux Distribution. http:\/\/maemo.org\/."},{"key":"e_1_2_2_19_1","unstructured":"2010. The Magic Lantern project. http:\/\/magiclantern.wikia.com\/wiki\/.  2010. The Magic Lantern project. http:\/\/magiclantern.wikia.com\/wiki\/."},{"volume-title":"Proceedings of IS&T, 442--448","author":"Mann S.","key":"e_1_2_2_20_1","unstructured":"Mann , S. , and Picard , R. W . 1995. On being 'undigital' with digital cameras: Extending dynamic range by combining differently exposed pictures . In Proceedings of IS&T, 442--448 . Mann, S., and Picard, R. W. 1995. On being 'undigital' with digital cameras: Extending dynamic range by combining differently exposed pictures. In Proceedings of IS&T, 442--448."},{"key":"e_1_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/PG.2007.23"},{"key":"e_1_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1186562.1015777"},{"key":"e_1_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1098918.1098939"},{"key":"e_1_2_2_24_1","volume-title":"Computational Photography: Mastering New Techniques for Lenses, Lighting, and Sensors","author":"Raskar R.","year":"2010","unstructured":"Raskar , R. , and Tumblin , J . 2010 . Computational Photography: Mastering New Techniques for Lenses, Lighting, and Sensors . In Press . A K Peters, Natick, MA, USA. Raskar, R., and Tumblin, J. 2010. Computational Photography: Mastering New Techniques for Lenses, Lighting, and Sensors. In Press. A K Peters, Natick, MA, USA."},{"key":"e_1_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1179352.1141957"},{"key":"e_1_2_2_26_1","unstructured":"Reinhard E. Ward G. Pattanaik S. and Debevec P. 2006. High Dynamic Range Imaging - Acquisition Display and Image-based Lighting. Morgan Kaufman Publishers 500 San-some Street Suite 400 San Francisco CA 94111.   Reinhard E. Ward G. Pattanaik S. and Debevec P. 2006. High Dynamic Range Imaging - Acquisition Display and Image-based Lighting . Morgan Kaufman Publishers 500 San-some Street Suite 400 San Francisco CA 94111."},{"key":"e_1_2_2_27_1","volume-title":"Tech. Rep. RI-TR-07-13","author":"Rowe A.","year":"2007","unstructured":"Rowe , A. , Goode , A. , Goel , D. , and Nourbakhsh , I . 2007 . CMUcam3: An open programmable embedded vision sensor. Tech. Rep. RI-TR-07-13 , Carnegie Mellon Robotics Institute , May. Rowe, A., Goode, A., Goel, D., and Nourbakhsh, I. 2007. CMUcam3: An open programmable embedded vision sensor. Tech. Rep. RI-TR-07-13, Carnegie Mellon Robotics Institute, May."},{"volume-title":"ICIP '09: IEEE International Conference on Image Processing, 1521--1525","author":"Tico M.","key":"e_1_2_2_28_1","unstructured":"Tico , M. , and Pulli , K . 2009. Image enhancement method via blur and noisy image fusion . In ICIP '09: IEEE International Conference on Image Processing, 1521--1525 . Tico, M., and Pulli, K. 2009. Image enhancement method via blur and noisy image fusion. In ICIP '09: IEEE International Conference on Image Processing, 1521--1525."},{"key":"e_1_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1186822.1073259"},{"key":"e_1_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2002.1033027"},{"key":"e_1_2_2_31_1","volume-title":"Proceedings of The 5th Linux Expo.","author":"Yodaiken V.","year":"1999","unstructured":"Yodaiken , V. 1999 . The RTLinux Manifesto . In Proceedings of The 5th Linux Expo. Yodaiken, V. 1999. The RTLinux Manifesto. In Proceedings of The 5th Linux Expo."}],"container-title":["ACM Transactions on Graphics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1778765.1778766","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1778765.1778766","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T20:25:52Z","timestamp":1750278352000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1778765.1778766"}},"subtitle":["an experimental platform for computational photography"],"short-title":[],"issued":{"date-parts":[[2010,7,26]]},"references-count":31,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2010,7,26]]}},"alternative-id":["10.1145\/1778765.1778766"],"URL":"https:\/\/doi.org\/10.1145\/1778765.1778766","relation":{},"ISSN":["0730-0301","1557-7368"],"issn-type":[{"type":"print","value":"0730-0301"},{"type":"electronic","value":"1557-7368"}],"subject":[],"published":{"date-parts":[[2010,7,26]]},"assertion":[{"value":"2010-07-26","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}