Oscar Camara

166 papers A 1B 2C 2Journal 57Unranked 91
YearRankTypeTitle / Venue / Authors
2026 J jnl
CoRR
Joel Romero-Hernandez, Oscar Camara
2026 J jnl
Medical Biol. Eng. Comput.
Antoni Ivorra, Txetxu Ausín, Laura Becerra-Fajardo, Antonio J. del Ama, Jesus Minguillon, Aracelys García-Moreno, Jordi Aguiló, Filipe Oliveira Barroso, Bart Bijnens, Oscar Camara, Sara Capdevila, Roger Castellanos Fernandez, Rafael V. Davalos, Jean-Louis Divoux, Ahmed Eladly, Dario Farina, Carla García Hombravella, Raquel González López, Cesar A. Gonzalez, Jordi Grífols, Felipe Maglietti, Shahid Malik, Elad Maor, Guillermo Marshall, Berta Mateu Yus, Lluis M. Mir, Juan C. Moreno, Xavier Navarro, Núria Noguera, Andrés Ozaita, Gemma Piella, José Luis Pons, Rita Quesada, Pilar Rivera-Gil, Boris Rubinsky, Aurelio Ruiz Garcia, Albert Ruiz-Vargas, Maria Sánchez Sánchez, Andreas Schneider-Ickert, Ting Shu, Rosa Villa Sanz, Bing Zhang, Gema Revuelta
2025 conf
FIMH (2)
Rahul Methari, Marta Saiz-Vivó, Patryk Szpetnar, Ferran Esquinas, David Stojanovski, Hubert Cochet, Alberto Gómez, Oscar Camara
2025 J jnl
CoRR
Xabier Morales, Ayah Elsayed, Debbie Zhao, Filip Loncaric, Ainhoa M. Aguado, Mireia Masias, Gina M. Quill, Marc Ramos, Ada Doltra, Ana Garcia, Marta Sitges, David Marlevi, Alistair A. Young, Martyn P. Nash, Bart H. Bijnens, Oscar Camara
2025 J jnl
CoRR
Bjørn Schreblowski Hansen, Jonas Jalili Pedersen, Klaus F. Kofoed, Oscar Camara, Rasmus R. Paulsen, Kristine Sørensen
2025 conf
FIMH (1)
Emanuele Gasparotti, Emanuele Vignali, Rachele Marangoni, Jordi Mill, Andy L. Olivares, Carlos Albors, Manal Barrouhou-Berrouhou, Oscar Camara, Simona Celi
2025 conf
FIMH (2)
Marta Saiz-Vivó, Jordi Mill, Ainhoa M. Aguado, Nahomy Rochelle, Anna Barredo, Carlos Albors, Mònica Font, Pedro Cepas-Guillén, Xavier Freixa, Manuel Barreiro-Perez, Oscar Camara
2025 conf
LISA@MICCAI
Raquel González López, Maria Chiara Fiorentino, Gerard Martí-Juan, Oscar Camara, Miguel Ángel González Ballester
2025 conf
XR (3)
Jordi Alfonso, Ainhoa M. Aguado, Jordi Mill, Oscar Camara
2025 J jnl
npj Digit. Medicine
Marta Saiz-Vivó, Jordi Mill, Xavier Iriart, Hubert Cochet, Gemma Piella, Maxime Sermesant, Oscar Camara
2025 J jnl
Comput. Biol. Medicine
Carlos Albors, Nerea Arrarte Terreros, Marta Saiz-Vivó, Pietro Zappala, Marc M. Terpstra, Andy L. Olivares, R. N. Planken, Wimjan P. van Boven, Antoine H. G. Driessen, Joris R. de Groot, Oscar Camara
2025 conf
ICIAP (2)
Michele Cannito, Anna Maria Llopart, Nerea Ferrara, Massimo Salvi, Alicia Serra, Arnau Valls, Oscar Camara, Adrian Galdran
2025 J jnl
IEEE Trans. Medical Imaging
Kelly Payette, Céline Steger, Roxane Licandro, Priscille de Dumast, Hongwei Bran Li, Matthew J. Barkovich, Liu Li, Maik Dannecker, Chen Chen, Cheng Ouyang, Niccolò McConnell, Alina Dana Miron, Yongmin Li, Alena Uus, Irina Grigorescu, Paula Ramirez Gilliland, Md Mahfuzur Rahman Siddiquee, Daguang Xu, Andriy Myronenko, Haoyu Wang, Ziyan Huang, Jin Ye, Mireia Alenyà, Valentin Comte, Oscar Camara, Jean-Baptiste Masson, Astrid Nilsson, Charlotte Godard, Moona Mazher, Abdul Qayyum, Yibo Gao, Hangqi Zhou, Shangqi Gao, Jia Fu, Guiming Dong, Guotai Wang, ZunHyan Rieu, HyeonSik Yang, Minwoo Lee, Szymon Plotka, Michal K. Grzeszczyk, Arkadiusz Sitek, Luisa Vargas Daza, Santiago Usma, Pablo Arbeláez, Wenying Lu, Wenhao Zhang, Jing Liang, Romain Valabrègue, Anand A. Joshi, Krishna N. Nayak, Richard M. Leahy, Luca Wilhelmi, Aline Dändliker, Hui Ji, Antonio G. Gennari, Anton Jakovcic, Melita Klaic, Ana Adzic, Pavel Markovic, Gracia Grabaric, Gregor Kasprian, Gregor Dovjak, Milan Rados, Lana Vasung, Meritxell Bach Cuadra, András Jakab
2025 conf
FIMH (1)
Maria Segarra-Queralt, Manal Barrouhou-Berrouhou, Marc Molla, Marina Ribera, Carlos Albors, Andy L. Olivares, Gabriel Bernardino, Jordi Mill, Oscar Camara
2025 J jnl
CoRR
Kristine Sørensen, Oscar Camara, Ole De Backer, Klaus F. Kofoed, Rasmus R. Paulsen
2025 ed.
CMRxRecon/MBAS/STACOM@MICCAI
Oscar Camara, Esther Puyol-Antón, Maxime Sermesant, Avan Suinesiaputra, Jichao Zhao, Chengyan Wang, Qian Tao, Alistair Young
2025 J jnl
PLoS Comput. Biol.
Maria Inmaculada Villanueva, Anna Pellisé-Tintoré, María Pérez-Rodríguez, Laura Nogué, Pooja Vaziraani, Iris Soveral, Fátima Crispi, Olga Gómez, Patricia Garcia-Cañadilla, Oscar Camara, Bart Bijnens, Gabriel Bernardino
2025 J jnl
IEEE Trans. Medical Imaging
Dolors Serra, Pau Romero, Paula Franco, Ignacio Bernat, Miguel Lozano, Ignacio García-Fernández, David Soto, Antonio Berruezo, Oscar Camara, Rafael Sebastián
2024 conf
MOVI@MICCAI
Maria Sánchez, Helena Sánchez, Carlos Pérez de Arenaza, David Ribalta, Nerea Arrarte, Oscar Camara, Adrian Galdran
2024 J jnl
PLoS Comput. Biol.
Carlos Albors, Jordi Mill, Andy L. Olivares, Xavier Iriart, Hubert Cochet, Oscar Camara
2024 conf
CMRxRecon/MBAS/STACOM@MICCAI
Paula Casademunt, Xabier Morales, Pedro Cepas-Guillén, Ada Doltra, Jordi Mill, Marta Saiz-Vivó, Eduardo Flores-Umanzor, Laura Sanchis, Xavier Freixa, Oscar Camara
2024 J jnl
CoRR
Kristine Aavild Juhl, Jakob M. Slipsager, Ole De Backer, Klaus F. Kofoed, Oscar Camara, Rasmus R. Paulsen
2024 conf
MICCAI (3)
Kristine Sørensen, Paula López Diez, Ján Margeta, Yasmin El Youssef, Michael Huy Cuong Pham, Jonas Jalili Pedersen, J. Tobias Kühl, Ole De Backer, Klaus F. Kofoed, Oscar Camara, Rasmus R. Paulsen
2024 J jnl
CoRR
Kristine Sørensen, Paula López Diez, Ján Margeta, Yasmin El Youssef, Michael Huy Cuong Pham, Jonas Jalili Pedersen, J. Tobias Kühl, Ole De Backer, Klaus F. Kofoed, Oscar Camara, Rasmus R. Paulsen
2024 ed.
STACOM@MICCAI
Oscar Camara, Esther Puyol-Antón, Maxime Sermesant, Avan Suinesiaputra, Qian Tao, Chengyan Wang, Alistair A. Young
2024 conf
MICCAI (8)
César Acebes, Abdel H. Moustafa, Oscar Camara, Adrian Galdran
2024 J jnl
CoRR
Dolors Serra, Pau Romero, Paula Franco, Ignacio Bernat, Miguel Lozano, Ignacio García-Fernández, David Soto, Antonio Berruezo, Oscar Camara, Rafael Sebastián
2024 conf
EuroVis (Short Papers)
Jasna Nuhic, Carlos Albors, Jordi Mill, Andy L. Olivares, Oscar Camara, Monique Meuschke
2023 ch.
AI and Big Data in Cardiology
Nicolas Duchateau, Oscar Camara, Rafael Sebastián, Andrew P. King
2023 conf
EMBC
Dolors Serra, Paula Franco, Pau Romero, Giada S. Romitti, Ignacio García-Fernández, Miguel Lozano, Alejandro Liberos, Diego Penela, Antonio Berruezo, Oscar Camara, Miguel Rodrigo, Rafael Sebastián
2023 J jnl
Comput. Medical Imaging Graph.
Irem Cetin, Maialen Stephens, Oscar Camara, Miguel Ángel González Ballester
2023 conf
CinC
Álvaro José Bocanegra, Diego Penela, Rafael Sebastián, Guillermo Jiménez-Pérez, Andrea Saglietto, David Soto-Iglesias, Antonio Berruezo, Gemma Piella, Oscar Camara
2023 conf
FIMH
Maria Inmaculada Villanueva, Patricia Garcia-Cañadilla, Oscar Camara, Angeles Garcia-Criado, Genis Camprecios, Valeria Perez-Campuzano, Virgina Hernandez-Gea, Fanny Turon, Anna Baiges, Angela Lopez Sainz, Juan Carlos García-Pagan, Bart Bijnens, Gabriel Bernardino
2023 conf
CinC
Álvaro José Bocanegra, Anaïs Espinoso, Ralph G. Andrzejak, Oscar Camara
2023 conf
IEEE VIS (Short Papers)
Irum Baseer, Israel Valverde, Abdel H. Moustafa, Josep Blat, Oscar Camara
2023 J jnl
CoRR
Irum Baseer, Israel Valverde, Abdel H. Moustafa, Josep Blat, Oscar Camara
2023 J jnl
Medical Image Anal.
Kelly Payette, Hongwei Bran Li, Priscille de Dumast, Roxane Licandro, Hui Ji, Md Mahfuzur Rahman Siddiquee, Daguang Xu, Andriy Myronenko, Hao Liu, Yuchen Pei, Lisheng Wang, Ying Peng, Juanying Xie, Huiquan Zhang, Guiming Dong, Hao Fu, Guotai Wang, ZunHyan Rieu, Donghyeon Kim, Hyun Gi Kim, Davood Karimi, Ali Gholipour, Helena R. Torres, Bruno Oliveira, João L. Vilaça, Yang Lin, Netanell Avisdris, Ori Ben-Zvi, Dafna Ben-Bashat, Lucas Fidon, Michael Aertsen, Tom Vercauteren, Daniel Sobotka, Georg Langs, Mireia Alenyà, Maria Inmaculada Villanueva, Oscar Camara, Bella Specktor-Fadida, Leo Joskowicz, Liao Weibin, Lv Yi, Xuesong Li, Moona Mazher, Abdul Qayyum, Domenec Puig, Hamza Kebiri, Zelin Zhang, Xinyi Xu, Dan Wu, Kuanlun Liao, Yixuan Wu, Jintai Chen, Yunzhi Xu, Li Zhao, Lana Vasung, Bjoern H. Menze, Meritxell Bach Cuadra, András Jakab
2023 conf
FIMH
Carlos Albors, Andy L. Olivares, Xavier Iriart, Hubert Cochet, Jordi Mill, Oscar Camara
2023 conf
FIMH
Marta Saiz-Vivó, Isaac Capallera, Nicolas Duchateau, Gabriel Bernardino, Gemma Piella, Oscar Camara
2023 conf
STACOM@MICCAI
Dolors Serra, Pau Romero, Miguel Lozano, Ignacio García-Fernández, Diego Penela, Antonio Berruezo, Oscar Camara, Miguel Rodrigo, Miriam Gil, Rafael Sebastián
2023 conf
FIMH
Gabriel Bernardino, Thomas Dargent, Oscar Camara, Nicolas Duchateau
2023 J jnl
CoRR
Valentin Comte, Mireia Alenyà, Andrea Urru, Judith Recober, Ayako Nakaki, Francesca Crovetto, Oscar Camara, Eduard Gratacós, Elisenda Eixarch, Fátima Crispi, Gemma Piella, Mario Ceresa, Miguel Ángel González Ballester
2022 J jnl
CoRR
Irem Cetin, Oscar Camara, Miguel Ángel González Ballester
2022 J jnl
CoRR
Kelly Payette, Hongwei Li, Priscille de Dumast, Roxane Licandro, Hui Ji, Md Mahfuzur Rahman Siddiquee, Daguang Xu, Andriy Myronenko, Hao Liu, Yuchen Pei, Lisheng Wang, Ying Peng, Juanying Xie, Huiquan Zhang, Guiming Dong, Hao Fu, Guotai Wang, ZunHyan Rieu, Donghyeon Kim, Hyun Gi Kim, Davood Karimi, Ali Gholipour, Helena R. Torres, Bruno Oliveira, João L. Vilaça, Yang Lin, Netanell Avisdris, Ori Ben-Zvi, Dafna Ben-Bashat, Lucas Fidon, Michael Aertsen, Tom Vercauteren, Daniel Sobotka, Georg Langs, Mireia Alenyà, Maria Inmaculada Villanueva, Oscar Camara, Bella Specktor-Fadida, Leo Joskowicz, Weibin Liao, Lv Yi, Xuesong Li, Moona Mazher, Abdul Qayyum, Domenec Puig, Hamza Kebiri, Zelin Zhang, Xinyi Xu, Dan Wu, Kuanlun Liao, Yixuan Wu, Jintai Chen, Yunzhi Xu, Li Zhao, Lana Vasung, Bjoern H. Menze, Meritxell Bach Cuadra, András Jakab
2022 J jnl
CoRR
Xabier Morales, Jordi Mill, Guillem Simeon, Kristine A. Juhl, Ole De Backer, Rasmus R. Paulsen, Oscar Camara
2022 J jnl
CoRR
Jordi Mill, Josquin Harrison, Benoit Legghe, Andy L. Olivares, Xabier Morales, Jérôme Noailly, Xavier Iriart, Hubert Cochet, Maxime Sermesant, Oscar Camara
2022 conf
ISBI
Kristine Sørensen, Oscar Camara, Ole De Backer, Klaus F. Kofoed, Rasmus R. Paulsen
2022 conf
STACOM@MICCAI
Dolors Serra, Paula Franco, Pau Romero, Ignacio García-Fernández, Miguel Lozano, David Soto, Diego Penela, Antonio Berruezo, Oscar Camara, Rafael Sebastián
2022 J jnl
Frontiers Neuroinformatics
Guillem Simeon, Gemma Piella, Oscar Camara, Deborah Pareto
2022 conf
STACOM@MICCAI
Carlos Albors, Jordi Mill, Henrik A. Kjeldsberg, David Vilades Medel, Andy L. Olivares, Kristian Valen-Sendstad, Oscar Camara
2022 conf
NLDL
Bjørn Schreblowski Hansen, Mathias Micheelsen Lowes, Thomas Ørkild, Anders B. Dahl, Vedrana Andersen Dahl, Ole De Backer, Oscar Camara, Rasmus R. Paulsen, Christian Keilstrup Ingwersen, Kristine Sørensen
2022 ed.
STACOM@MICCAI
Esther Puyol-Antón, Mihaela Pop, Carlos Martín-Isla, Maxime Sermesant, Avan Suinesiaputra, Oscar Camara, Karim Lekadir, Alistair Young
2022 ed.
STACOM@MICCAI
Oscar Camara, Esther Puyol-Antón, Chen Qin, Maxime Sermesant, Avan Suinesiaputra, Shuo Wang, Alistair A. Young
2022 conf
STACOM@MICCAI
Xabier Morales, Carlos Albors, Jordi Mill, Oscar Camara
2022 conf
STACOM@MICCAI
Marta Saiz-Vivó, Jordi Mill, Josquin Harrison, Guillermo Jiménez-Pérez, Benoit Legghe, Xavier Iriart, Hubert Cochet, Gemma Piella, Maxime Sermesant, Oscar Camara
2021 conf
CinC
Narimane Gassa, Benjamin Sacristan, Nejib Zemzemi, Maxime Laborde, Juan Garrido Oliver, Clara Matencio Perabla, Guillermo Jiménez-Pérez, Oscar Camara, Sylvain Ploux, Marc Strik, Pierre Bordachar, Rémi Dubois
2021 J jnl
Medical Image Anal.
Jaume Banus, Marco Lorenzi, Oscar Camara, Maxime Sermesant
2021 J jnl
IEEE Trans. Knowl. Data Eng.
Cecília Nunes, Hélène Langet, Mathieu De Craene, Oscar Camara, Bart H. Bijnens, Anders Jonsson
2021 conf
FIMH
Jordina Aviles, Gonzalo D. Maso Talou, Oscar Camara, Marcos Mejía Córdova, Xabier Morales Ferez, Daniel Romero, Edward Ferdian, Kathleen Gilbert, Ayah Elsayed, Alistair A. Young, Lydia Dux-Santoy, Aroa Ruiz-Muñoz, Gisela Teixido-Tura, Jose Rodriguez-Palomares, Andrea Guala
2021 J jnl
CoRR
Guillermo Jiménez-Pérez, Juan Acosta, Alejandro Alcaine, Oscar Camara
2021 conf
FIMH
Xabier Morales, Jordi Mill, Guillem Simeon, Kristine A. Juhl, Ole De Backer, Rasmus R. Paulsen, Oscar Camara
2021 conf
MICCAI (2)
Kristine Aavild Juhl, Xabier Morales, Ole De Backer, Oscar Camara, Rasmus Reinhold Paulsen
2021 conf
FIMH
Jordi Mill, Josquin Harrison, Benoit Legghe, Andy L. Olivares, Xabier Morales, Jérôme Noailly, Xavier Iriart, Hubert Cochet, Maxime Sermesant, Oscar Camara
2021 conf
STACOM@MICCAI
Eric Planas, Jordi Mill, Andy L. Olivares, Xabier Morales, Maria Isabel Pons, Xavier Iriart, Hubert Cochet, Oscar Camara
2021 conf
CinC
Alba Isabel, Guillermo Jiménez-Pérez, Oscar Camara, Etelvino Silva
2021 conf
FIMH
Andy L. Olivares, Maria Isabel Pons, Jordi Mill, Jose Novo Matos, Patricia Garcia-Cañadilla, Inma Cerrada, Anna Guy, J. Ciaran Hutchinson, Ian Craig Simcock, Owen J. Arthurs, Andrew C. Cook, Virginia Luis Fuentes, Oscar Camara
2021 conf
FIMH
María A. Iglesias, Oscar Camara, Marta Sitges, Gaspar Delso
2021 ed.
M&Ms and EMIDEC/STACOM@MICCAI
Esther Puyol-Antón, Mihaela Pop, Maxime Sermesant, Víctor M. Campello, Alain Lalande, Karim Lekadir, Avan Suinesiaputra, Oscar Camara, Alistair A. Young
2021 J jnl
Comput. methods Biomech. Biomed. Eng. Imaging Vis.
P. Lampreave, Guillermo Jiménez-Pérez, I. Sanz, Alberto Gómez, Oscar Camara
2021 conf
STACOM@MICCAI
Paula Casademunt, Oscar Camara, Bart H. Bijnens, Èric Lluch, Hernán G. Morales
2020 conf
M&Ms and EMIDEC/STACOM@MICCAI
Xabier Morales, Jordi Mill, Gaspar Delso, Filip Loncaric, Ada Doltra, Xavier Freixa, Marta Sitges, Bart H. Bijnens, Oscar Camara
2020 conf
M&Ms and EMIDEC/STACOM@MICCAI
César Acebes, Xabier Morales, Oscar Camara
2020 J jnl
CoRR
Zhaohan Xiong, Qing Xia, Zhiqiang Hu, Ning Huang, Cheng Bian, Yefeng Zheng, Sulaiman Vesal, Nishant Ravikumar, Andreas K. Maier, Xin Yang, Pheng-Ann Heng, Dong Ni, Caizi Li, Qianqian Tong, Weixin Si, Élodie Puybareau, Younes Khoudli, Thierry Géraud, Chen Chen, Wenjia Bai, Daniel Rueckert, Lingchao Xu, Xiahai Zhuang, Xinzhe Luo, Shuman Jia, Maxime Sermesant, Yashu Liu, Kuanquan Wang, Davide Borra, Alessandro Masci, Cristiana Corsi, Coen de Vente, Mitko Veta, Rashed Karim, Chandrakanth Jayachandran Preetha, Sandy Engelhardt, Mengyun Qiao, Yuanyuan Wang, Qian Tao, Marta Nuñez Garcia, Oscar Camara, Nicoló Savioli, Pablo Lamata, Jichao Zhao
2020 J jnl
CoRR
Irem Cetin, Steffen E. Petersen, Sandy Napel, Oscar Camara, Miguel Ángel González Ballester, Karim Lekadir
2020 J jnl
CoRR
Guillermo Jiménez-Pérez, Alejandro Alcaine, Oscar Camara
2020 J jnl
IEEE Trans. Vis. Comput. Graph.
Marta Nuñez Garcia, Gabriel Bernardino, Francisco Alarcón, Gala Caixal, Lluís Mont, Oscar Camara, Constantine Butakoff
2020 conf
MICCAI (6)
Jaume Banus, Maxime Sermesant, Oscar Camara, Marco Lorenzi
2020 J jnl
CoRR
Jaume Banus, Maxime Sermesant, Oscar Camara, Marco Lorenzi
2020 J jnl
WIREs Data Mining Knowl. Discov.
Cecília Nunes, Mathieu De Craene, Hélène Langet, Oscar Camara, Anders Jonsson
2020 ed.
STACOM@MICCAI
Mihaela Pop, Maxime Sermesant, Oscar Camara, Xiahai Zhuang, Shuo Li, Alistair A. Young, Tommaso Mansi, Avan Suinesiaputra
2020 conf
M&Ms and EMIDEC/STACOM@MICCAI
Judit Ros, Oscar Camara, Uxio Hermida, Bart H. Bijnens, Hernán G. Morales
2020 conf
VCBM
Elodie Medina, Ainhoa M. Aguado, Jordi Mill, Xavier Freixa, Dabit Arzamendi, Carlos Yagüe, Oscar Camara
2019 conf
ISBI
Irem Cetin, Steffen E. Petersen, Sandy Napel, Oscar Camara, Miguel Ángel González Ballester, Karim Lekadir
2019 J jnl
CoRR
Irem Cetin, Gerard Sanroma, Steffen E. Petersen, Sandy Napel, Oscar Camara, Miguel Ángel González Ballester, Karim Lekadir
2019 conf
STACOM@MICCAI
Oscar Camara
2019 conf
STACOM@MICCAI
Vera H. J. van Hal, Debbie Zhao, Kathleen Gilbert, Thiranja P. Babarenda Gamage, Charlène Alice Mauger, Robert N. Doughty, Malcolm E. Legget, Jichao Zhao, Aaqel Nalar, Oscar Camara, Alistair A. Young, Vicky Y. Wang, Martyn P. Nash
2019 conf
STACOM@MICCAI
Xabier Morales, Jordi Mill, Kristine A. Juhl, Andy L. Olivares, Guillermo Jiménez-Pérez, Rasmus R. Paulsen, Oscar Camara
2019 conf
FIMH
Jaume Banus, Marco Lorenzi, Oscar Camara, Maxime Sermesant
2019 J jnl
Medical Image Anal.
Marta Nuñez Garcia, Oscar Camara, Mark D. O'Neill, Reza Razavi, Henry Chubb, Constantine Butakoff
2019 conf
CinC
Rubén Doste, Miguel Lozano, Juan Francisco Gomez, Alejandro Alcaine, Lluís Mont, Antonio Berruezo, Oscar Camara, Rafael Sebastián
2019 conf
FIMH
Marta Nuñez Garcia, Gabriel Bernardino, Rubén Doste, Jichao Zhao, Oscar Camara, Constantine Butakoff
2019 conf
CinC
Guillermo Jiménez-Pérez, Alejandro Alcaine, Oscar Camara
2018 C conf
ICMLA
Cecília Nunes, Mathieu De Craene, Hélène Langet, Oscar Camara, Anders Jonsson
2018 J jnl
CoRR
Rubén Doste, David Soto-Iglesias, Gabriel Bernardino, Alejandro Alcaine, Rafael Sebastián, Sophie Giffard-Roisin, Maxime Sermesant, Antonio Berruezo, Damian Sánchez-Quintana, Oscar Camara
2018 conf
STACOM@MICCAI
Ibai Genua, Andy L. Olivares, Etelvino Silva, Jordi Mill, Álvaro Fernández, Ainhoa M. Aguado, Marta Nuñez Garcia, Tom de Potter, Xavier Freixa, Oscar Camara
2018 J jnl
IEEE Trans. Medical Imaging
Olivier Bernard, Alain Lalande, Clément Zotti, Frederic Cervenansky, Xin Yang, Pheng-Ann Heng, Irem Cetin, Karim Lekadir, Oscar Camara, Miguel Ángel González Ballester, Gerard Sanroma, Sandy Napel, Steffen E. Petersen, Georgios Tziritas, Elias Grinias, Mahendra Khened, Alex Varghese, Ganapathy Krishnamurthi, Marc-Michel Rohé, Xavier Pennec, Maxime Sermesant, Fabian Isensee, Paul Jäger, Klaus H. Maier-Hein, Peter M. Full, Ivo Wolf, Sandy Engelhardt, Christian F. Baumgartner, Lisa M. Koch, Jelmer M. Wolterink, Ivana Isgum, Yeonggul Jang, Yoonmi Hong, Jay Patravali, Shubham Jain, Olivier Humbert, Pierre-Marc Jodoin
2018 J jnl
CoRR
Marta Nuñez Garcia, Gabriel Bernardino, Francisco Alarcón, Gala Caixal, Lluís Mont, Oscar Camara, Constantine Butakoff
2018 conf
STACOM@MICCAI
Jordi Mill, Andy L. Olivares, Etelvino Silva, Ibai Genua, Álvaro Fernández, Ainhoa M. Aguado, Marta Nuñez Garcia, Tom de Potter, Xavier Freixa, Oscar Camara
2018 J jnl
Medical Image Anal.
Gerard Sanroma, Oualid M. Benkarim, Gemma Piella, Oscar Camara, Guorong Wu, Dinggang Shen, Juan Domingo Gispert, José Luis Molinuevo, Miguel Ángel González Ballester, Alzheimer's Disease Neuroimaging Initiative
2018 conf
STACOM@MICCAI
Marta Nuñez Garcia, Xiahai Zhuang, Gerard Sanroma, Lei Li, Lingchao Xu, Constantine Butakoff, Oscar Camara
2018 J jnl
CoRR
Marta Nuñez Garcia, Oscar Camara, Mark D. O'Neill, Reza Razavi, Henry Chubb, Constantine Butakoff
2018 conf
STACOM@MICCAI
Jakob M. Slipsager, Kristine A. Juhl, Per E. Sigvardsen, Klaus F. Kofoed, Ole De Backer, Andy L. Olivares, Oscar Camara, Rasmus R. Paulsen
2017 conf
STACOM@MICCAI
Irem Cetin, Gerard Sanroma, Steffen E. Petersen, Sandy Napel, Oscar Camara, Miguel Ángel González Ballester, Karim Lekadir
2017 conf
FIMH
Rubén Doste, David Soto-Iglesias, Gabriel Bernardino, Rafael Sebastián, Sophie Giffard-Roisin, Rocío Cabrera Lozoya, Maxime Sermesant, Antonio Berruezo, Damian Sánchez-Quintana, Oscar Camara
2017 conf
VCBM
Daniele Pezzatini, Carlos Yagüe, Paula A. Rudenick, Josep Blat, Bart H. Bijnens, Oscar Camara
2017 conf
Patch-MI@MICCAI
Gerard Sanroma, Víctor Andrea, Oualid M. Benkarim, José V. Manjón, Pierrick Coupé, Oscar Camara, Gemma Piella, Miguel Ángel González Ballester
2017 conf
FIMH
Thomas S. Pheiffer, David Soto-Iglesias, Yaroslav Nikulin, Tiziano Passerini, Julian Krebs, Marta Sitges, Antonio Berruezo, Oscar Camara, Tommaso Mansi
2017 conf
FIMH
Andy L. Olivares, Etelvino Silva, Marta Nuñez Garcia, Constantine Butakoff, Damian Sánchez-Quintana, Xavier Freixa, Jérôme Noailly, Tom de Potter, Oscar Camara
2017 conf
FIMH
Èric Lluch, Rubén Doste, Sophie Giffard-Roisin, Alexandre This, Maxime Sermesant, Oscar Camara, Mathieu De Craene, Hernán G. Morales
2016 J jnl
Medical Image Anal.
David Soto-Iglesias, Constantine Butakoff, David Andreu, Juan Fernandez-Armenta, Antonio Berruezo, Oscar Camara
2016 conf
STACOM@MICCAI
David Soto-Iglesias, Diego Penela, Xavier Planes, Veronika A. M. Zimmer, Juan Acosta, David Andreu, Gemma Piella, Rafael Sebastián, Damian Sánchez-Quintana, Antonio Berruezo, Oscar Camara
2016 conf
STACOM@MICCAI
Marta Nuñez Garcia, David Andreu, Marta Male, Francisco Alarcón, Lluís Mont, Constantine Butakoff, Oscar Camara
2016 ed.
STACOM@MICCAI
Oscar Camara, Tommaso Mansi, Mihaela Pop, Kawal S. Rhode, Maxime Sermesant, Alistair A. Young
2015 J jnl
Medical Image Anal.
Rubén Cárdenes, Rafael Sebastián, David Soto-Iglesias, Antonio Berruezo, Oscar Camara
2015 conf
FIMH
Marta Nuñez Garcia, Catalina Tobon-Gomez, Kawal S. Rhode, Bart H. Bijnens, Oscar Camara, Constantine Butakoff
2015 conf
FIMH
David Soto-Iglesias, Nicolas Duchateau, Constantine Butakoff, David Andreu, Juan Fernandez-Armenta, Bart H. Bijnens, Antonio Berruezo, Marta Sitges, Oscar Camara
2015 ed.
STACOM
Oscar Camara, Tommaso Mansi, Mihaela Pop, Kawal S. Rhode, Maxime Sermesant, Alistair A. Young
2014 J jnl
PLoS Comput. Biol.
Patricia Garcia-Cañadilla, Paula A. Rudenick, Fátima Crispi, Monica Cruz-Lemini, Georgina Palau-Caballero, Oscar Camara, Eduard Gratacós, Bart H. Bijnens
2014 conf
CinC
Alejandro Alcaine, David Soto-Iglesias, David Andreu, Juan Acosta, Antonio Berruezo, Pablo Laguna, Oscar Camara, Juan Pablo Martínez
2014 J jnl
IEEE Trans. Biomed. Eng.
Alejandro Alcaine, David Soto-Iglesias, Mireia Calvo, Esther Guiu, David Andreu, Juan Fernandez-Armenta, Antonio Berruezo, Pablo Laguna, Oscar Camara, Juan Pablo Martínez
2014 conf
STACOM
Jazmin Aguado-Sierra, Alfonso Santiago, Matias I. Rivero, Mariña López-Yunta, David Soto-Iglesias, Lydia Dux-Santoy, Oscar Camara, Mariano Vázquez
2014 conf
CinC
Rubén Cárdenes, Rafael Sebastián, Antonio Berruezo, Oscar Camara
2014 ed.
STACOM
Oscar Camara, Tommaso Mansi, Mihaela Pop, Kawal S. Rhode, Maxime Sermesant, Alistair A. Young
2013 conf
CinC
David Soto-Iglesias, Nicolas Duchateau, Constantine Butakoff, David Andreu, Juan Fernandez-Armenta, Antonio Berruezo, Marta Sitges, Oscar Camara
2013 conf
STACOM
Rubén Cárdenes, Rafael Sebastián, David Soto-Iglesias, David Andreu, Juan Fernandez-Armenta, Bart H. Bijnens, Antonio Berruezo, Oscar Camara
2013 conf
FIMH
David Soto-Iglesias, Constantine Butakoff, David Andreu, Juan Fernandez-Armenta, Antonio Berruezo, Oscar Camara
2013 conf
STACOM
Ali Pashaei, Gemma Piella, Nicolas Duchateau, Luigi Gabrielli, Oscar Camara
2013 ed.
STACOM
Oscar Camara, Tommaso Mansi, Mihaela Pop, Kawal S. Rhode, Maxime Sermesant, Alistair A. Young
2013 J jnl
Medical Biol. Eng. Comput.
Catalina Tobon-Gomez, Nicolas Duchateau, Rafael Sebastián, Stéphanie Marchesseau, Oscar Camara, Erwan Donal, Mathieu De Craene, Ali Pashaei, Jatin Relan, M. Steghofer, Pablo Lamata, Hervé Delingette, Simon G. Duckett, Mireille Garreau, Alfredo Hernández, Kawal S. Rhode, Maxime Sermesant, Nicholas Ayache, Christophe Leclercq, Reza Razavi, Nicolas Smith, Alejandro F. Frangi
2013 conf
CinC
Alejandro Alcaine, David Soto-Iglesias, David Andreu, Juan Fernandez-Armenta, Antonio Berruezo, Pablo Laguna, Oscar Camara, Juan Pablo Martínez
2012 conf
ISBI
Oscar Camara, Maxime Sermesant, Pablo Lamata, Linwei Wang, Mihaela Pop, Jatin Relan, Mathieu De Craene, Hervé Delingette, Huafeng Liu, Steven A. Niederer, Ali Pashaei, Gernot Plank, Daniel Romero, Rafael Sebastián, Ken C. L. Wong, Heye Zhang, Nicholas Ayache, Alejandro F. Frangi, Pengcheng Shi, Nic Smith, Graham A. Wright
2012 ed.
STACOM
Oscar Camara, Ender Konukoglu, Mihaela Pop, Kawal S. Rhode, Maxime Sermesant, Alistair A. Young
2012 J jnl
Medical Image Anal.
Mathieu De Craene, Gemma Piella, Oscar Camara, Nicolas Duchateau, Etelvino Silva, Adelina Doltra, Jan D'hooge, Josep Brugada, Marta Sitges, Alejandro F. Frangi
2011 conf
STACOM
Catalina Tobon-Gomez, Mathieu De Craene, Annette Dahl, Stam Kapetanakis, Gerry Carr-White, Anja Lutz, Volker Rasche, Patrick Etyngier, Sebastian Kozerke, Tobias Schaeffter, Chiara Riccobene, Yves Martelli, Oscar Camara, Alejandro F. Frangi, Kawal S. Rhode
2011 conf
FIMH
Antonio R. Porras, Gemma Piella, Oscar Camara, Etelvino Silva, David Andreu, Antonio Berruezo, Alejandro F. Frangi
2011 conf
FIMH
Ali Pashaei, Corné Hoogendoorn, Rafael Sebastián, Daniel Romero, Oscar Camara, Alejandro F. Frangi
2011 J jnl
IEEE Trans. Biomed. Eng.
Ali Pashaei, Daniel Romero, Rafael Sebastián, Oscar Camara, Alejandro F. Frangi
2011 conf
FIMH
Corné Hoogendoorn, Ali Pashaei, Rafael Sebastián, Federico Sukno, Oscar Camara, Alejandro F. Frangi
2010 conf
STACOM/CESC
Corné Hoogendoorn, Ali Pashaei, Rafael Sebastián, Federico Sukno, Oscar Camara, Alejandro F. Frangi
2010 conf
STACOM/CESC
Oscar Camara, Ali Pashaei, Rafael Sebastián, Alejandro F. Frangi
2010 ed.
STACOM/CESC
Oscar Camara, Mihaela Pop, Kawal S. Rhode, Maxime Sermesant, Nic Smith, Alistair A. Young
2010 conf
MICCAI (2)
Mathieu De Craene, Gemma Piella, Nicolas Duchateau, Etel Silva, Adelina Doltra, Hang Gao, Jan D'hooge, Oscar Camara, Josep Brugada, Marta Sitges
2009 conf
FIMH
Oscar Camara, Steffen Oeltze, Mathieu De Craene, Rafael Sebastián, Etel Silva, David Tamborero, Lluís Mont, Marta Sitges, Bart H. Bijnens, Alejandro F. Frangi
2009 conf
FIMH
Ignacio Larrabide, Pedro Omedas, Yves Martelli, Xavier Planes, Maarten Nieber, Juan A. Moya, Constantine Butakoff, Rafael Sebastián, Oscar Camara, Mathieu De Craene, Bart H. Bijnens, Alejandro F. Frangi
2009 conf
FIMH
Mathieu De Craene, Oscar Camara, Bart H. Bijnens, Alejandro F. Frangi
2009 conf
FIMH
Oscar Camara, Estanislao Oubel, Gemma Piella, Simone Balocco, Mathieu De Craene, Alejandro F. Frangi
2009 B conf
Image Processing
Mathieu De Craene, Oscar Camara, Bart H. Bijnens, Alejandro F. Frangi
2008 J jnl
NeuroImage
Oscar Camara, Julia A. Schnabel, Gerard R. Ridgway, William R. Crum, Abdel Douiri, Rachael I. Scahill, Derek L. G. Hill, Nick C. Fox
2008 conf
MICCAI (2)
Simone Balocco, Oscar Camara, Alejandro F. Frangi
2008 J jnl
Pattern Recognit.
A. Moreno, Celina Maki Takemura, Olivier Colliot, Oscar Camara, Isabelle Bloch
2007 conf
MICCAI (2)
Oscar Camara, Rachael I. Scahill, Julia A. Schnabel, William R. Crum, Gerard R. Ridgway, Derek L. G. Hill, Nick C. Fox
2007 J jnl
IEEE Trans. Medical Imaging
Oscar Camara, Gaspar Delso, Olivier Colliot, Antonio Moreno-Ingelmo, Isabelle Bloch
2007 conf
MICCAI (1)
William R. Crum, Oscar Camara, David J. Hawkes
2007 conf
ISBI
Andreas Mang, Oscar Camara, Gisele Brasil-Caseiras, William R. Crum, Julia A. Schnabel, Thorsten M. Buzug, Jeremy Rees, John S. Thornton, Hans Rolf Jäger, David J. Hawkes
2006 J jnl
Medical Image Anal.
Maxime Sermesant, Philippe Moireau, Oscar Camara, Jacques Sainte-Marie, R. Andriantsimiavona, Robert Cimrman, Derek L. G. Hill, Dominique Chapelle, Reza Razavi
2006 J jnl
IEEE Trans. Medical Imaging
William R. Crum, Oscar Camara, Derek L. G. Hill
2006 J jnl
Pattern Recognit.
Olivier Colliot, Oscar Camara, Isabelle Bloch
2006 J jnl
IEEE Trans. Medical Imaging
Oscar Camara, Martin Schweiger, Rachael I. Scahill, William R. Crum, Beatrix I. Sneller, Julia A. Schnabel, Gerard R. Ridgway, David M. Cash, Derek L. G. Hill, Nick C. Fox
2005 C conf
CIARP
Antonio Moreno-Ingelmo, Gaspar Delso, Oscar Camara, Isabelle Bloch
2005 conf
FIMH
Maxime Sermesant, Philippe Moireau, Oscar Camara, Jacques Sainte-Marie, R. Andriantsimiavona, Robert Cimrman, Derek L. G. Hill, Dominique Chapelle, Reza Razavi
2005 J jnl
Pattern Recognit. Lett.
Isabelle Bloch, Olivier Colliot, Oscar Camara, Thierry Géraud
2005 A conf
MICCAI
William R. Crum, Oscar Camara, Daniel Rueckert, Kanwal K. Bhatia, Mark Jenkinson, Derek L. G. Hill
2005 J jnl
Medical Image Anal.
Maxime Sermesant, Kawal S. Rhode, Gerardo I. Sanchez-Ortiz, Oscar Camara, R. Andriantsimiavona, Sanjeet Hegde, Daniel Rueckert, Pier Lambiase, Clifford Bucknall, Eric Rosenthal, Herve Delingette, Derek L. G. Hill, Nicholas Ayache, Reza Razavi
2004 J jnl
Real Time Imaging
Oscar Camara, Olivier Colliot, Isabelle Bloch
2004 B conf
Image Processing
Olivier Colliot, Oscar Camara, Remi Dewynter, Isabelle Bloch
2003 conf
WBIR
Oscar Camara, Gaspar Delso, Isabelle Bloch
redb/models/dataclasses.py
← Index redb/models/dataclasses.py python
from dataclasses import dataclass, field
from typing import Literal, List, Dict, Optional


@dataclass
class Hash:
    md5: str
    sha1: str
    sha256: str


@dataclass
class Hashes:
    md5: str
    sha1: str
    sha256: str
    ssdeep_hash: str
    tlsh_hash: str
    authentihash: Optional[str] = None  # PE
    imphash: Optional[str] = None  # PE
    impfuzzy: Optional[str] = None  # PE TODO: implement
    typerefhash: Optional[str] = None  # DotNet
    richhash: Optional[str] = None  # PE
    richpe_hash: Optional[str] = None  # PE
    richpv_hash: Optional[str] = None  # PE
    richpv_hash_sorted: Optional[str] = None  # PE
    import_hash: Optional[str] = None  # ELF
    export_hash: Optional[str] = None  # ELF
    section_hash: Optional[str] = None  # ELF
    symbol_hash: Optional[str] = None  # ELF (symhash)
    dynamic_hash: Optional[str] = None  # ELF
    # Mach-O similarity hashes
    macho_dylib_hash: Optional[str] = None  # Mach-O: MD5 of sorted dylib names
    macho_import_hash: Optional[str] = None  # Mach-O: MD5 of sorted imported function names
    macho_export_hash: Optional[str] = None  # Mach-O: MD5 of sorted exported symbol names
    macho_entitlement_hash: Optional[str] = None  # Mach-O: MD5 of sorted entitlement names/values
    macho_symhash: Optional[str] = None  # Mach-O: MD5 of external undefined symbols
    # APK similarity hashes
    permhash: Optional[str] = None  # APK: SHA-256 of sorted permissions (Mandiant/Google)

@dataclass
class BasicProperties:
    filename: str
    sample_name: str
    filesize: int
    filetype: str
    filetype_mime: str
    filetype_magika: str
    file_entropy: float
    is_packed: Optional[bool] = None
    is_fat: Optional[bool] = None  # True for FAT Mach-O containers only
    child_sha256: Optional[List[str]] = None  # SHA256 hashes of children (FAT slices, zip contents)
    child_architecture: Optional[List[str]] = None  # Architecture names for FAT Mach-O slices
    child_filetype: Optional[List[str]] = None  # Magika filetypes for children (useful for zip archives)
    first_seen: Optional[str] = None  # From catalog_samples, None for local files


@dataclass
class DIEinfo:
    die_full_dump: str  # TODO: fix the ES schema type to have the full object
    die_info: dict = field(default_factory=dict)


@dataclass
class CAPA:
    capa_dump: str
    capabilities: list
    namespaces: list
    attack_dump: str
    tactics: list
    techniques: list
    techniques_id: list
    mbc_dump: str
    mbc_objectives: list
    mbc_behaviors: list
    mbc_behaviors_id: list


@dataclass
class Malcontent:
    """Malcontent analysis results from chainguard-dev/malcontent tool."""
    malcontent_dump: str  # JSON dump of analysis results (unwrapped from Files)
    version: str  # Malcontent tool version
    risk_score: int  # Overall risk score (0-4)
    risk_level: str  # Risk level: LOW, MEDIUM, HIGH, CRITICAL


# @dataclass
# class Strings:
#     # strings_total_unique: int
#     # strings_stored_unique: int
#     # strings: list = field(default_factory=list)
#     # # strings_ranked: list = field(default_factory=list)
#     strings: dict[str, String]

@dataclass
class String:
    string: str # this is basically the key
    string_length: int
    string_entropy: float
    string_frequency: int
    md5: list[str] = field(default_factory=list)
    sha1: list[str] = field(default_factory=list)
    sha256: list[str] = field(default_factory=list)

@dataclass
class Decompiled:
    _id: str
    decompiled_function_name: str
    decompiled_function_address: str
    decompiled_function: str


@dataclass
class PE:
    dos_header: str
    nt_header: str
    optional_header: str
    file_header: str
    magic: str  # pe.OPTIONAL_HEADER.Magic
    entry_point: str  # pe.OPTIONAL_HEADER.AddressOfEntryPoint
    major_linker_version: int  # pe.OPTIONAL_HEADER.MajorLinkerVersion
    minor_linker_version: int  # pe.OPTIONAL_HEADER.MinorLinkerVersion
    target_machine: str  # pe.FILE_HEADER.Machine
    architecture: str
    compilation_time: int
    compilation_time_utc: str
    is_dotnet: bool
    is_signed: bool
    has_overlay: bool
    number_of_sections: int
    number_of_imports: int
    number_of_exports: int
    number_of_resources: int
    type: Literal["DLL", "EXE", "DRIVER"]
    dbg_struct: Optional[str] = None
    dbg_timestamp: Optional[int] = None
    dbg_timestamp_utc: Optional[str] = None
    dbg_pdb_info: Optional[str] = None
    dbg_pdb_info_raw: Optional[str] = None
    tls_struct: Optional[str] = None
    export_timestamp: Optional[int] = None
    rich_header_dump: Optional[dict] = None
    rich_header_parsed: Optional[list] = None
    version_info: Optional[list] = None
    export_library_name: Optional[str] = None
    export_library_name_raw: Optional[str] = None
    export_symbols_list: Optional[list] = None
    tls_callbacks: Optional[list] = None


@dataclass
class PEDotNet:
    dotnet: dict = field(default_factory=dict)


@dataclass
class PEImport:
    pe_imports_total: int
    pe_import_libraryName: Optional[list] = None
    pe_import_functions: Optional[list] = None


@dataclass
class PESection:
    _id: str
    section_entropy: float
    section_sha256: str
    section_md5: str
    section_name: str
    section_name_b64: str
    section_pointer_to_raw_data: str
    section_size: int
    section_v_addr: str
    section_v_addr_hex: str
    section_v_size: int


# @dataclass
# class PESections:
#     sections_total: int
#     sections: list = field(default_factory=list)
#     section: Dict[str, PESection] = field(default_factory=dict)


@dataclass
class PEResource:
    _id: str
    resource_type: str
    resource_entropy: float
    resource_sha256: str
    resource_filetype: str
    resource_magika: str
    resource_language: str
    resource_sub_lang: str
    resource_rva: str
    resource_size: int


# @dataclass
# class PEResources:
#     resources_total: int
#     resources: list = field(default_factory=list)
#     resource: Dict[str, PEResource] = field(default_factory=dict)


@dataclass
class PEOverlay:
    _id: str
    overlay_size: int
    overlay_entropy: float
    overlay_offset: str
    overlay_mimetype: str
    overlay_type: str
    overlay_magika: str
    overlay_sha256: str
    overlay_sha1: str
    overlay_md5: str


@dataclass
class PESigner:
    signer_serial_number: str
    signer_subject: str
    signer_issuer: str
    signer_valid_from: str
    signer_valid_to: str
    signer_thumbprint: str  # sha1
    signer_algorithm: str


@dataclass
class PECertificate:
    certificate_serial_number: str
    certificate_subject: str
    certificate_issuer: str
    certificate_valid_from: str
    certificate_valid_to: str
    certificate_thumbprint: str  # sha1
    certificate_algorithm: str


@dataclass
class PECodeSigningInfo:
    _id: str
    signature_verified: bool
    number_of_certificates: int
    x509_certificates: Optional[list] = None
    signers: Optional[list] = None
    countersigners: Optional[list] = None
    date_signed: Optional[str] = None
    spcSpOpusInfo: Optional[dict] = None


@dataclass
class PEExtraFinding:
    context: str
    finding: Optional[Dict] = None


# @dataclass
# class PECodeSigning:
#     certificates: list = field(default_factory=list)
#     signer_info: list = field(default_factory=list)


@dataclass
class DotNetInconsistencyTests:
    test_dotnet_data_dir_hidden: Optional[bool]
    test_dotnet_fake_types: Optional[bool]
    test_dotnet_extra_data: Optional[bool]
    test_dotnet_invalid_type_ref: Optional[bool]
    test_dotnet_fake_datastreams: Optional[bool]
    test_dotnet_extra_module_table: Optional[bool]
    test_dotnet_extra_assembly_table: Optional[bool]
    test_dotnet_invalid_strings_stream: Optional[bool]
    test_dotnet_streams_mixed_case: Optional[bool]
    test_dotnet_method_def_invalid_table: Optional[bool]
    test_dotnet_max_len_exceeding_strings: Optional[bool]


@dataclass
class PEInconsistencyTests:
    test_rich_header_checksum: Optional[bool]
    test_rich_header_duplicate: Optional[bool]
    test_rich_header_linker: Optional[bool]
    test_rich_header_import_count: Optional[bool]


@dataclass
class YaraRule:
    """
    YARA rule metadata (stored in yara_rules table).

    Fields added during export: rule_id, source_collection, ingested_at, rule_text
    """
    rule_name: str
    rule_tags: List[str]
    rule_meta: Dict[str, str]


@dataclass
class YaraMatch:
    """
    YARA rule match (stored in yara_matches table).

    Fields added during export: sha256, rule_id, scan_date
    """
    rule_name: str
    match_strings: List[str]
# ============================================================================
# ELF Dataclasses
# ============================================================================

@dataclass
class ELFFeatures:
    """Main ELF header and binary properties."""
    # ELF Header data
    ei_class: int  # 1=32-bit, 2=64-bit
    ei_data: int  # 1=Little-endian, 2=Big-endian
    ei_version: int
    ei_osabi: int  # 0=SYSV, 1=HPUX, 2=NETBSD, 3=LINUX, 6=SOLARIS, 9=FREEBSD
    ei_abiversion: int
    e_type: int  # 0=NONE, 1=REL, 2=EXEC, 3=DYN, 4=CORE
    e_machine: int
    e_version: int
    e_entry: int
    e_flags: int
    # Human readable values
    ei_class_str: str
    ei_data_str: str
    ei_osabi_str: str
    e_type_str: str
    e_machine_str: str
    # Binary properties
    is_64bit: int
    is_stripped: int
    is_pie: int
    has_canary: int
    has_nx: int
    has_relro: int
    has_fortify: int
    # Counts
    number_of_segments: int
    number_of_sections: int
    number_of_symbols: int
    number_of_dynamic_symbols: int
    number_of_relocations: int
    number_of_dependencies: int
    # Build information
    gnu_hash_present: int
    has_debug_info: int
    build_id: Optional[str] = None


@dataclass
class ELFDependency:
    """ELF dynamic dependency (DT_NEEDED, DT_SONAME, DT_RPATH, DT_RUNPATH)."""
    dependency_name: str
    dependency_type: int  # 1=NEEDED, 14=SONAME, 15=RPATH, 29=RUNPATH
    dependency_type_str: str  # NEEDED, SONAME, RPATH, RUNPATH


@dataclass
class ELFImport:
    """ELF import information (libraries and functions)."""
    elf_imports_total: int
    elf_import_libraries: List[str] = field(default_factory=list)
    elf_import_functions: List[str] = field(default_factory=list)


@dataclass
class ELFExport:
    """ELF export information (exported functions)."""
    elf_exports_total: int
    elf_export_functions: List[str] = field(default_factory=list)


@dataclass
class ELFSection:
    """ELF section information."""
    section_name: str
    section_type: int  # 0=NULL, 1=PROGBITS, 2=SYMTAB, 3=STRTAB, 4=RELA, 5=HASH, 6=DYNAMIC, 7=NOTE, 8=NOBITS, 9=REL, 11=DYNSYM
    section_type_str: str
    section_flags: int
    section_flags_str: List[str]  # WRITE, ALLOC, EXECINSTR, MERGE, STRINGS, etc.
    section_addr: int
    section_offset: int
    section_size: int
    section_link: int
    section_info: int
    section_addralign: int
    section_entsize: int
    section_entropy: float
    section_sha256: str
    section_md5: str


@dataclass
class ELFSegment:
    """ELF segment (program header) information."""
    segment_type: int  # 0=NULL, 1=LOAD, 2=DYNAMIC, 3=INTERP, 4=NOTE, 5=SHLIB, 6=PHDR, 7=TLS
    segment_type_str: str
    segment_flags: int
    segment_flags_str: List[str]  # READ, WRITE, EXECUTE
    segment_offset: int
    segment_vaddr: int
    segment_paddr: int
    segment_filesz: int
    segment_memsz: int
    segment_align: int
    segment_entropy: float
    segment_sha256: str
    segment_md5: str


@dataclass
class ELFSymbol:
    """ELF symbol information."""
    symbol_name: str
    symbol_value: int
    symbol_size: int
    symbol_type: int  # 0=NOTYPE, 1=OBJECT, 2=FUNC, 3=SECTION, 4=FILE, 5=COMMON, 6=TLS
    symbol_type_str: str
    symbol_bind: int  # 0=LOCAL, 1=GLOBAL, 2=WEAK
    symbol_bind_str: str
    symbol_visibility: int  # 0=DEFAULT, 1=INTERNAL, 2=HIDDEN, 3=PROTECTED
    symbol_visibility_str: str
    symbol_section_index: int  # 0=UNDEF, 65521=ABS, 65522=COMMON, or actual section index
    symbol_section_index_str: str  # UNDEF, ABS, COMMON, or section index as string
    is_dynamic: int  # 0=static (.symtab), 1=dynamic (.dynsym)


@dataclass
class ELFRelocation:
    """ELF relocation information."""
    relocation_offset: int
    relocation_type: int
    relocation_type_str: str
    relocation_symbol_index: int
    relocation_symbol_name: str
    relocation_section: str
    relocation_addend: Optional[int] = None  # Only present in RELA sections


@dataclass
class ELFNote:
    """ELF note information (e.g., build ID, ABI tag)."""
    note_name: str  # e.g., "GNU"
    note_type: int  # e.g., 3 for NT_GNU_BUILD_ID
    note_type_str: str  # e.g., "NT_GNU_BUILD_ID"
    note_desc: str  # Note description/content (hex encoded for binary data)
    note_section: str  # Section or segment where the note was found


# ============================================================================
# Mach-O Dataclasses
# ============================================================================

@dataclass
class MachO:
    """Main Mach-O header and binary properties."""
    # Raw values (for analytics/ML)
    magic: int
    cputype: int
    cpusubtype: int
    filetype: int
    ncmds: int
    sizeofcmds: int
    flags: int
    architecture: int
    architectures: List[int]
    # Human-readable values (for display)
    magic_str: str
    cputype_str: str
    cpusubtype_str: str
    filetype_str: str
    flags_str: List[str]
    architecture_str: str
    architectures_str: List[str]
    # Additional properties
    is_64bit: bool
    is_signed: bool
    number_of_load_commands: int = 0
    load_commands_set: Optional[List[str]] = None
    number_of_segments: int = 0
    number_of_dylibs: int = 0
    number_of_imports: int = 0
    number_of_exports: int = 0
    entry_point: Optional[int] = None
    uuid: Optional[str] = None
    version_info: Optional[dict] = None
    version_info_str: Optional[dict] = None


@dataclass
class MachOSegment:
    """Mach-O segment information."""
    segment_name: str
    segment_vaddr: int
    segment_vsize: int
    segment_offset: int
    segment_size: int
    segment_max_vm_protection: int
    segment_initial_vm_protection: int
    segment_nsects: int
    segment_flags: int
    segment_entropy: float
    segment_sha256: str


@dataclass
class MachOImport:
    """Mach-O import information."""
    macho_imports_total: int
    macho_import_libraryName: Optional[list] = None
    macho_import_functions: Optional[list] = None


@dataclass
class MachOExport:
    """Mach-O export information."""
    macho_exports_total: int
    macho_export_symbols: Optional[list] = None


@dataclass
class MachODylib:
    """Mach-O dynamic library dependency."""
    dylib_name: str
    dylib_timestamp: int
    dylib_current_version: int
    dylib_compat_version: int


@dataclass
class MachOLoadCommand:
    """Mach-O load command."""
    load_command: int
    load_command_str: str
    load_command_size: int


@dataclass
class MachOUniversal:
    """Mach-O Universal/FAT binary information."""
    is_fat: bool
    architecture_count: int
    architectures: List[str]
    architecture_info: List[dict]
    fat_hash: Optional[str] = None
    fat_md5: Optional[str] = None
    fat_sha1: Optional[str] = None


@dataclass
class MachOCertificate:
    """Certificate information extracted from MachO code signature (mirrors PECertificate)."""
    subject: str
    issuer: str
    serial_number: str
    not_before: str
    not_after: str
    thumbprint: str  # SHA-1 (industry standard)
    certificate_type: str  # 'leaf', 'intermediate', 'root'
    order: int
    algorithm: Optional[str] = None
    common_name: Optional[str] = None
    organizational_unit: Optional[str] = None
    organization: Optional[str] = None


@dataclass
class MachOCodeDirectory:
    """Code Directory information from LC_CODE_SIGNATURE (simplified for malware analysis)."""
    identifier: Optional[str] = None  # Bundle ID
    team_id: Optional[str] = None     # Developer team ID
    flags: Optional[int] = None       # CD flags (includes CS_RUNTIME for hardened runtime)
    cd_hash: Optional[str] = None     # SHA-256 hash of the CodeDirectory itself


@dataclass
class MachOCodeSigningInfo:
    """Complete code signing information (mirrors PECodeSigningInfo)."""
    _id: str  # sha256
    signing_type: str  # 'certificate', 'ad-hoc', 'unsigned'
    has_signature: bool  # True if CMS signature structure present (not cryptographic verification)
    number_of_certificates: int
    code_directories: Optional[List[MachOCodeDirectory]] = None
    entitlements: Optional[Dict] = None
    x509_certificates: Optional[List[MachOCertificate]] = None
    date_signed: Optional[str] = None
    arch_identifier: Optional[str] = None  # For FAT binaries
    has_hardened_runtime: bool = False
    has_library_validation: bool = False
    has_runtime_version: bool = False


@dataclass
class MachOEntitlement:
    """Single entitlement entry for database export."""
    key: str
    value_type: str  # 'boolean', 'string', 'array', 'dict'
    value_bool: Optional[bool] = None
    value_string: Optional[str] = None
    value_array: Optional[List[str]] = None


# ============================================================================
# APK Dataclasses
# ============================================================================

@dataclass
class APKFeatures:
    """Core APK metadata and properties."""
    package_name: Optional[str] = None
    app_name: Optional[str] = None
    version_code: Optional[int] = None
    version_name: Optional[str] = None
    min_sdk_version: Optional[int] = None
    target_sdk_version: Optional[int] = None
    compile_sdk_version: Optional[int] = None
    main_activity: Optional[str] = None
    is_debuggable: bool = False
    allow_backup: bool = True
    uses_cleartext_traffic: bool = False
    supported_abis: List[str] = field(default_factory=list)
    dex_count: int = 0
    total_dex_size: int = 0
    total_file_count: int = 0
    has_native_code: bool = False
    has_assets: bool = False
    uses_libraries: List[str] = field(default_factory=list)
    earliest_content_modification: Optional[str] = None  # ISO 8601
    latest_content_modification: Optional[str] = None    # ISO 8601
    contains_embedded_apk: bool = False


@dataclass
class APKManifestComponent:
    """Single Android component (activity, service, receiver, provider)."""
    component_type: str      # "activity", "service", "receiver", "provider"
    class_name: str
    is_exported: bool
    intent_actions: List[str] = field(default_factory=list)
    intent_categories: List[str] = field(default_factory=list)


@dataclass
class APKManifest:
    """Full AndroidManifest.xml analysis."""
    activity_count: int
    service_count: int
    receiver_count: int
    provider_count: int
    activities: List[str] = field(default_factory=list)
    services: List[str] = field(default_factory=list)
    receivers: List[str] = field(default_factory=list)
    providers: List[str] = field(default_factory=list)
    exported_components: List[str] = field(default_factory=list)
    intent_filters_by_action: List[str] = field(default_factory=list)
    intent_filters_by_category: List[str] = field(default_factory=list)
    uses_features: List[str] = field(default_factory=list)
    meta_data: Optional[Dict] = None
    manifest_xml: Optional[str] = None  # Full decompiled XML text


@dataclass
class APKPermission:
    """Single permission entry for ClickHouse export."""
    permission_name: str
    protection_level: str    # "normal", "dangerous", "signature", "signatureOrSystem", "unknown"
    is_custom: bool = False  # True if declared by the app itself


@dataclass
class APKPermissions:
    """APK permission summary."""
    total_permission_count: int
    dangerous_permission_count: int
    permissions: List[str] = field(default_factory=list)
    dangerous_permissions: List[str] = field(default_factory=list)
    custom_permissions: List[str] = field(default_factory=list)
    permission_details: List[APKPermission] = field(default_factory=list)
    permhash: Optional[str] = None


@dataclass
class APKCertificate:
    """X.509 certificate from APK signature."""
    subject: str
    issuer: str
    serial_number: str
    valid_from: str
    valid_to: str
    thumbprint_sha1: str
    thumbprint_sha256: str
    algorithm: Optional[str] = None
    key_size: Optional[int] = None
    is_self_signed: bool = False
    certificate_source_scheme: Optional[str] = None  # 'v1', 'v2', 'v3', or 'v1,v2' etc. when deduplicated


@dataclass
class APKCodeSigningInfo:
    """Complete APK signing information."""
    _id: str  # sha256
    is_signed: bool
    signature_scheme_versions: List[int] = field(default_factory=list)
    number_of_certificates: int = 0
    x509_certificates: Optional[List[APKCertificate]] = None
    apk_signer_subject: Optional[str] = None
    apk_signer_issuer: Optional[str] = None


@dataclass
class APKDexFile:
    """Analysis of a single DEX file."""
    filename: str
    sha256: str
    class_count: int
    method_count: int
    string_count: int
    tlsh: Optional[str] = None
    top_packages: Optional[List[Dict]] = None
    api_usage: Optional[Dict[str, List[str]]] = None
    obfuscation_indicators: Optional[Dict] = None


@dataclass
class APKResource:
    """Embedded resource file entry."""
    path: str
    size: int
    sha256: str
    filetype_magika: str
    entropy: float = 0.0
    is_suspicious: bool = False


@dataclass
class APKNativeLib:
    """Native .so library entry."""
    abi: str
    filename: str
    size: int
    sha256: str
    is_known_packer: bool = False


@dataclass
class APKInconsistencyTests:
    """APK anomaly and anti-analysis detection results."""
    test_zip_bomb: Optional[bool] = None
    test_zip_duplicate_entries: Optional[bool] = None
    test_zip_path_traversal: Optional[bool] = None
    test_zip_suspicious_timestamps: Optional[bool] = None
    test_hidden_dex_files: Optional[bool] = None
    test_manifest_component_mismatch: Optional[bool] = None
    test_debuggable_release: Optional[bool] = None
    test_emulator_detection_strings: Optional[bool] = None
    test_debugger_detection: Optional[bool] = None
    test_root_detection: Optional[bool] = None


# ============================================================================
# APK Code Analysis Dataclasses
# ============================================================================

@dataclass
class APKDecompiledMethodContent:
    """Decompiled Java source for a single method (content table — deduplicated by hash)."""
    decompiled_method_hash: str
    decompiled_method: str
    decompiled_method_type: str
    decompiled_has_string_encryption: bool = False
    decompiled_has_reflection_calls: bool = False
    decompiled_excessive_goto_count: bool = False


@dataclass
class APKDecompiledMethodReference:
    """Links a specific APK to one of its decompiled methods (reference table)."""
    sha256: str
    sha1: str
    md5: str
    decompiled_method_hash: str
    smali_method_hash: Optional[str] = None
    decompiled_class_name: str = ""
    decompiled_method_name: str = ""
    decompiled_method_signature: str = ""
    decompiled_method_prototype: str = ""
    functions_caller: List[str] = field(default_factory=list)
    functions_call: List[str] = field(default_factory=list)


@dataclass
class APKSmaliMethodContent:
    """Smali disassembly for a single method (content table — deduplicated by hash)."""
    smali_method_hash: str
    smali_method: str
    smali_method_type: str
    smali_instructions_count: int = 0
    smali_register_count: int = 0
    smali_has_string_encryption: bool = False
    smali_has_reflection_calls: bool = False
    smali_excessive_goto_count: bool = False
    smali_flattened_score: float = 0.0
    smali_mba_score: float = 0.0


@dataclass
class APKSmaliMethodReference:
    """Links a specific APK to one of its smali methods (reference table)."""
    sha256: str
    sha1: str
    md5: str
    smali_method_hash: str
    decompiled_method_hash: Optional[str] = None
    smali_class_name: str = ""
    smali_method_name: str = ""
    smali_method_signature: str = ""
    ssdeep_smali: Optional[str] = None
    tlsh_smali: Optional[str] = None


@dataclass
class APKMethodSimilarityMetrics:
    """Similarity hashes for method-level clustering (keyed by smali hash)."""
    smali_method_hash: str
    cyclomatic_complexity: Optional[int] = None
    block_count: Optional[int] = None
    edge_count: Optional[int] = None
    loop_count: Optional[int] = None
    max_depth: Optional[int] = None
    max_fan_out: Optional[int] = None
    ssdeep_smali: Optional[str] = None
    tlsh_smali: Optional[str] = None
    ssdeep_smali_normalized: Optional[str] = None
    tlsh_smali_normalized: Optional[str] = None
    minhash: Optional[List[int]] = field(default_factory=list)


@dataclass
class APKCodeAnalysisError:
    """Error encountered during method analysis."""
    sha256: str
    class_name: Optional[str] = None
    method_name: Optional[str] = None
    error_location: str = ""
    error_message: Optional[str] = None
    error_type: Optional[str] = None


# ============================================================================
# JavaScript Dataclasses
# ============================================================================

@dataclass
class JSFeatures:
    """Core JavaScript file metadata and obfuscation metrics."""
    line_count: int = 0
    char_count: int = 0
    text_entropy: float = 0.0
    max_line_length: int = 0
    avg_line_length: float = 0.0
    is_minified: bool = False
    is_likely_obfuscated: bool = False
    obfuscator_name: Optional[str] = None
    obfuscation_score: int = 0
    obfuscation_techniques: List[str] = field(default_factory=list)
    eval_count: int = 0
    function_constructor_count: int = 0
    settimeout_setinterval_count: int = 0
    document_write_count: int = 0
    innerhtml_count: int = 0
    unescape_count: int = 0
    fromcharcode_count: int = 0
    atob_count: int = 0
    decodeuri_count: int = 0
    total_function_count: int = 0
    total_variable_count: int = 0
    max_nesting_depth: int = 0
    avg_identifier_length: float = 0.0
    hex_string_count: int = 0
    unicode_escape_count: int = 0
    long_string_count: int = 0
    base64_string_count: int = 0
    comment_ratio: float = 0.0
    script_type: str = "unknown"
    detected_environment: str = "unknown"