Vicente Grau

163 papers A 2B 1Journal 75Unranked 85
YearRankTypeTitle / Venue / Authors
2026 J jnl
Medical Image Anal.
Jiachuan Peng, Marcel Beetz, Abhirup Banerjee, Min Chen, Vicente Grau
2026 J jnl
Comput. Methods Programs Biomed.
Rubén Doste, Julià Camps, Zhinuo Jenny Wang, Lucas Arantes Berg, Maxx Holmes, Hannah J. Smith, Marcel Beetz, Lei Li, Abhirup Banerjee, Vicente Grau, Blanca Rodríguez
2026 J jnl
Inf. Fusion
Jingkun Chen, Jingchao Peng, Junde Wu, Tianlu Zhang, Thomas Bashford-Rogers, Kurt Debattista, Vicente Grau, Jungong Han
2026 J jnl
CoRR
Emmanuel Oladokun, Sarina Thomas, Jurica Sprem, Vicente Grau
2026 J jnl
IEEE Trans. Medical Imaging
Jingkun Chen, Haoran Duan, Xiao Zhang, Boyan Gao, Vicente Grau, Jungong Han
2025 J jnl
CoRR
Jolanta Mozyrska, Marcel Beetz, Luke Melas-Kyriazi, Vicente Grau, Abhirup Banerjee, Alfonso Bueno-Orovio
2025 J jnl
Comput. Medical Imaging Graph.
Marcel Beetz, Abhirup Banerjee, Lei Li, Julià Camps, Blanca Rodríguez, Vicente Grau
2025 conf
MICCAI (14)
Jiachuan Peng, Marcel Beetz, Abhirup Banerjee, Min Chen, Vicente Grau
2025 J jnl
CoRR
Rubén Doste, Julià Camps, Zhinuo Jenny Wang, Lucas Arantes Berg, Maxx Holmes, Hannah J. Smith, Marcel Beetz, Lei Li, Abhirup Banerjee, Vicente Grau, Blanca Rodríguez
2025 J jnl
CoRR
Mohammad Z. Atwany, Mojtaba Lashgari, Robin P. Choudhury, Vicente Grau, Abhirup Banerjee
2025 J jnl
CoRR
Yuxuan Ou, Ning Bi, Jiazhen Pan, Jiancheng Yang, Boliang Yu, Usama Zidan, Regent Lee, Vicente Grau
2025 conf
ISBI
Guang Yang, Jingkun Chen, Xicheng Sheng, Shan Yang, Xiahai Zhuang, Betty Raman, Lei Li, Vicente Grau
2025 J jnl
CoRR
Guang Yang, Jingkun Chen, Xicheng Sheng, Shan Yang, Xiahai Zhuang, Betty Raman, Lei Li, Vicente Grau
2025 J jnl
Frontiers Digit. Health
Yuling Sang, Abhirup Banerjee, Marcel Beetz, Vicente Grau
2025 J jnl
Medical Image Anal.
Haorui He, Abhirup Banerjee, Robin P. Choudhury, Vicente Grau
2025 A conf
WACV
Yiying Wang, Abhirup Banerjee, Robin P. Choudhury, Vicente Grau
2025 conf
DGM4MICCAI@MICCAI
Junde Wu, Renee Miller, Jurica Sprem, Vicente Grau
2025 J jnl
CoRR
Jingkun Chen, Haoran Duan, Xiao Zhang, Boyan Gao, Tao Tan, Vicente Grau, Jungong Han
2025 conf
ASMUS@MICCAI
Emmanuel Oladokun, Yuxuan Ou, Anna Novikova, Daria P. Kulikova, Sarina Thomas, Jurica Sprem, Vicente Grau
2025 J jnl
CoRR
Emmanuel Oladokun, Yuxuan Ou, Anna Novikova, Daria P. Kulikova, Sarina Thomas, Jurica Sprem, Vicente Grau
2025 J jnl
IEEE Trans. Big Data
Chen Chen, Lei Li, Marcel Beetz, Abhirup Banerjee, Ramneek Gupta, Vicente Grau
2025 conf
ACL (1)
Junde Wu, Jiayuan Zhu, Yunli Qi, Jingkun Chen, Min Xu, Filippo Menolascina, Yueming Jin, Vicente Grau
2025 conf
DT4H@MICCAI
Xiaoyue Liu, Xicheng Sheng, Xiahai Zhuang, Vicente Grau, Mark YY Chan, Ching-Hui Sia, Lei Li
2025 J jnl
CoRR
Xiaoyue Liu, Xicheng Sheng, Xiahai Zhuang, Vicente Grau, Mark YY Chan, Ching-Hui Sia, Lei Li
2025 J jnl
Medical Image Anal.
Lei Li, Hannah J. Smith, Yilin Lyu, Julià Camps, Shuang Qian, Blanca Rodríguez, Abhirup Banerjee, Vicente Grau
2025 J jnl
CoRR
Farheen Ramzan, Yusuf Kiberu, Nikesh Jathanna, Meryem Jabrane, Vicente Grau, Shahnaz Jamil-Copley, Richard H. Clayton, Chen Chen
2025 conf
AAAI Bridge Program
Jingkun Chen, Guang Yang, Xiao Zhang, Jingchao Peng, Tianlu Zhang, Jianguo Zhang, Jungong Han, Vicente Grau
2025 J jnl
CoRR
Jingkun Chen, Guang Yang, Xiao Zhang, Jingchao Peng, Tianlu Zhang, Jianguo Zhang, Jungong Han, Vicente Grau
2024 J jnl
CoRR
Yiying Wang, Abhirup Banerjee, Robin P. Choudhury, Vicente Grau
2024 J jnl
Medical Image Anal.
Julià Camps, Lucas Arantes Berg, Zhinuo Jenny Wang, Rafael Sebastián, Leto Luana Riebel, Rubén Doste, Xin Zhou, Rafael Sachetto Oliveira, James A. Coleman, Brodie Lawson, Vicente Grau, Kevin Burrage, Alfonso Bueno-Orovio, Rodrigo Weber dos Santos, Blanca Rodríguez
2024 J jnl
CoRR
Chen Chen, Lei Li, Marcel Beetz, Abhirup Banerjee, Ramneek Gupta, Vicente Grau
2024 J jnl
IEEE J. Biomed. Health Informatics
Marcel Beetz, Abhirup Banerjee, Vicente Grau
2024 conf
ISBI
Thalia Seale, Marcel Beetz, Blanca Rodríguez, Vicente Grau, Abhirup Banerjee
2024 J jnl
CoRR
Yiying Wang, Abhirup Banerjee, Vicente Grau
2024 J jnl
CoRR
Lei Li, Hannah J. Smith, Yilin Lyu, Julià Camps, Blanca Rodríguez, Abhirup Banerjee, Vicente Grau
2024 J jnl
Medical Image Anal.
Yuhao Huang, Xin Yang, Lian Liu, Han Zhou, Ao Chang, Xinrui Zhou, Rusi Chen, Junxuan Yu, Jiongquan Chen, Chaoyu Chen, Sijing Liu, Haozhe Chi, Xindi Hu, Kejuan Yue, Lei Li, Vicente Grau, Deng-Ping Fan, Fajin Dong, Dong Ni
2024 conf
CMRxRecon/MBAS/STACOM@MICCAI
Mohammad Z. Atwany, Mojtaba Lashgari, Robin P. Choudhury, Vicente Grau, Abhirup Banerjee
2024 J jnl
CoRR
Lei Li, Julià Camps, Blanca Rodríguez, Vicente Grau
2024 J jnl
IEEE Trans. Medical Imaging
Lei Li, Julià Camps, Zhinuo Jenny Wang, Marcel Beetz, Abhirup Banerjee, Blanca Rodríguez, Vicente Grau
2024 J jnl
CoRR
Emmanuel Oladokun, Musa Abdulkareem, Jurica Sprem, Vicente Grau
2023 conf
EMBC
Marcel Beetz, Yilong Yang, Abhirup Banerjee, Lei Li, Vicente Grau
2023 J jnl
CoRR
Marcel Beetz, Yilong Yang, Abhirup Banerjee, Lei Li, Vicente Grau
2023 J jnl
CoRR
Hannah J. Smith, Blanca Rodríguez, Yuling Sang, Marcel Beetz, Robin Choudhury, Vicente Grau, Abhirup Banerjee
2023 conf
STACOM@MICCAI
Haorui He, Abhirup Banerjee, Robin P. Choudhury, Vicente Grau
2023 J jnl
IEEE J. Biomed. Health Informatics
Carlos Martín-Isla, Víctor M. Campello, Cristian Izquierdo, Kaisar Kushibar, Carla Sendra-Balcells, Polyxeni Gkontra, Alireza Sojoudi, Mitchell J. Fulton, Tewodros Weldebirhan Arega, Kumaradevan Punithakumar, Lei Li, Xiaowu Sun, Yasmina Al Khalil, Di Liu, Sana Jabbar, Sandro F. Queiros, Francesco Galati, Moona Mazher, Zheyao Gao, Marcel Beetz, Lennart Tautz, Christoforos Galazis, Marta Varela, Markus Hüllebrand, Vicente Grau, Xiahai Zhuang, Domenec Puig, Maria A. Zuluaga, Hassan Mohy-ud-Din, Dimitris N. Metaxas, Marcel Breeuwer, Rob J. van der Geest, Michelle Noga, Stéphanie Bricq, Mark E. Rentschler, Andrea Guala, Steffen E. Petersen, Sergio Escalera, José F. Rodríguez Palomares, Karim Lekadir
2023 conf
FIMH
Ambre Bertrand, Julià Camps, Vicente Grau, Blanca Rodríguez
2023 conf
STACOM@MICCAI
Jiachuan Peng, Marcel Beetz, Abhirup Banerjee, Min Chen, Vicente Grau
2023 conf
FIMH
Lei Li, Julià Camps, Zhinuo J. Wang, Abhirup Banerjee, Blanca Rodríguez, Vicente Grau
2023 J jnl
CoRR
Lei Li, Julià Camps, Zhinuo J. Wang, Abhirup Banerjee, Blanca Rodríguez, Vicente Grau
2023 J jnl
CoRR
Marcel Beetz, Abhirup Banerjee, Vicente Grau
2023 J jnl
CoRR
Marcel Beetz, Abhirup Banerjee, Julius Ossenberg-Engels, Vicente Grau
2023 J jnl
Medical Image Anal.
Marcel Beetz, Abhirup Banerjee, Julius Ossenberg-Engels, Vicente Grau
2023 J jnl
Medical Image Anal.
Lei Li, Wangbin Ding, Liqin Huang, Xiahai Zhuang, Vicente Grau
2023 conf
MICCAI (2)
Marcel Beetz, Abhirup Banerjee, Vicente Grau
2023 J jnl
CoRR
Marcel Beetz, Abhirup Banerjee, Vicente Grau
2023 J jnl
CoRR
Lei Li, Julià Camps, Zhinuo J. Wang, Abhirup Banerjee, Marcel Beetz, Blanca Rodríguez, Vicente Grau
2023 conf
DALI@MICCAI
Emmanuel Oladokun, Musa Abdulkareem, Jurica Sprem, Vicente Grau
2022 conf
EMBC
Abhirup Banerjee, Ernesto Zacur, Robin P. Choudhury, Vicente Grau
2022 conf
EMBC
Hannah J. Smith, Abhirup Banerjee, Robin P. Choudhury, Vicente Grau
2022 conf
ISBI
Marcel Beetz, Abhirup Banerjee, Yuling Sang, Vicente Grau
2022 conf
STACOM@MICCAI
Lei Li, Julià Camps, Abhirup Banerjee, Marcel Beetz, Blanca Rodríguez, Vicente Grau
2022 J jnl
CoRR
Lei Li, Julià Camps, Abhirup Banerjee, Marcel Beetz, Blanca Rodríguez, Vicente Grau
2022 conf
ISBI
Yuling Sang, Marcel Beetz, Vicente Grau
2022 conf
CinC
Julià Camps, Zhinuo J. Wang, Rafael Sebastián, Xin Zhou, Brodie Lawson, Lucas Arantes Berg, Kevin Burrage, Vicente Grau, Rodrigo Weber dos Santos, Blanca Rodríguez
2022 conf
STACOM@MICCAI
Marcel Beetz, Jorge Corral Acero, Abhirup Banerjee, Ingo Eitel, Ernesto Zacur, Torben Lange, Thomas Stiermaier, Ruben Evertz, Sören J. Backhaus, Holger Thiele, Alfonso Bueno-Orovio, Pablo Lamata, Andreas Schuster, Vicente Grau
2022 J jnl
CoRR
Lei Li, Wangbin Ding, Liqun Huang, Xiahai Zhuang, Vicente Grau
2022 conf
STACOM@MICCAI
Marcel Beetz, Abhirup Banerjee, Vicente Grau
2022 conf
STACOM@MICCAI
Marcel Beetz, Jorge Corral Acero, Abhirup Banerjee, Ingo Eitel, Ernesto Zacur, Torben Lange, Thomas Stiermaier, Ruben Evertz, Sören J. Backhaus, Holger Thiele, Alfonso Bueno-Orovio, Pablo Lamata, Andreas Schuster, Vicente Grau
2022 conf
GeoMedIA
Marcel Beetz, Abhirup Banerjee, Vicente Grau
2022 conf
ISBI
Haorui He, Abhirup Banerjee, Marcel Beetz, Robin P. Choudhury, Vicente Grau
2021 conf
STACOM@MICCAI
Marcel Beetz, Jorge Corral Acero, Vicente Grau
2021 conf
ISBI
Marcel Beetz, Abhirup Banerjee, Vicente Grau
2021 conf
STACOM@MICCAI
Marcel Beetz, Abhirup Banerjee, Vicente Grau
2021 conf
CinC
Julià Camps, Brodie Lawson, Christopher C. Drovandi, Ana Mincholé, Zhinuo J. Wang, Vicente Grau, Kevin Burrage, Blanca Rodríguez
2021 J jnl
Medical Image Anal.
Julià Camps, Brodie Lawson, Christopher C. Drovandi, Ana Mincholé, Zhinuo J. Wang, Vicente Grau, Kevin Burrage, Blanca Rodríguez
2021 J jnl
IEEE J. Biomed. Health Informatics
Wufeng Xue, Jiahui Li, Zhiqiang Hu, Eric Kerfoot, James R. Clough, Ilkay Öksüz, Hao Xu, Vicente Grau, Fumin Guo, Matthew Ng, Xiang Li, Quanzheng Li, Lihong Liu, Jin Ma, Elias Grinias, Georgios Tziritas, Wenjun Yan, Angélica Atehortúa, Mireille Garreau, Yeonggul Jang, Alejandro Debus, Enzo Ferrante, Guanyu Yang, Tiancong Hua, Shuo Li
2021 conf
MIUA
Abhirup Banerjee, Ernesto Zacur, Robin P. Choudhury, Vicente Grau
2021 conf
STACOM@MICCAI
Marcel Beetz, Julius Ossenberg-Engels, Abhirup Banerjee, Vicente Grau
2020 conf
M&Ms and EMIDEC/STACOM@MICCAI
Jorge Corral Acero, Vaanathi Sundaresan, Nicola K. Dinsdale, Vicente Grau, Mark Jenkinson
2020 J jnl
CoRR
Anirudh Chandrashekar, Ashok Handa, Natesh Shivakumar, Pierfrancesco Lapolla, Vicente Grau, Regent Lee
2020 J jnl
CoRR
Anirudh Chandrashekar, Ashok Handa, Natesh Shivakumar, Pierfrancesco Lapolla, Vicente Grau, Regent Lee
2020 J jnl
IEEE Trans. Medical Imaging
Abhirup Banerjee, Francesca Galassi, Ernesto Zacur, Giovanni Luigi De Maria, Robin Choudhury, Vicente Grau
2019 conf
STACOM@MICCAI
Julius Ossenberg-Engels, Vicente Grau
2019 J jnl
CoRR
Hoileong Lee, Tahreema N. Matin, Fergus Gleeson, Vicente Grau
2019 conf
STACOM@MICCAI
Jorge Corral Acero, Hao Xu, Ernesto Zacur, Jürgen E. Schneider, Pablo Lamata, Alfonso Bueno-Orovio, Vicente Grau
2019 conf
PReMI (2)
Abhirup Banerjee, Robin Choudhury, Vicente Grau
2019 J jnl
Comput. Medical Imaging Graph.
Adam Szmul, Tahreema N. Matin, Fergus V. Gleeson, Julia A. Schnabel, Vicente Grau, Bartlomiej W. Papiez
2019 conf
FIMH
Jorge Corral Acero, Ernesto Zacur, Hao Xu, Rina Ariga, Alfonso Bueno-Orovio, Pablo Lamata, Vicente Grau
2019 J jnl
IEEE Trans. Medical Imaging
Russell Bates, Benjamin Irving, Bostjan Markelc, Jakob Kaeppler, Graham Brown, Ruth J. Muschel, J. Michael Brady, Vicente Grau, Julia A. Schnabel
2019 conf
FIMH
Hao Xu, Ernesto Zacur, Jürgen E. Schneider, Vicente Grau
2018 conf
STACOM@MICCAI
Abhirup Banerjee, Rajesh K. Kharbanda, Robin Choudhury, Vicente Grau
2018 conf
STACOM@MICCAI
Hao Xu, Jürgen E. Schneider, Vicente Grau
2018 conf
PRIME@MICCAI
Yu Yan, Hoileong Lee, Edward Somer, Vicente Grau
2018 conf
STACOM@MICCAI
Benjamin Villard, Ernesto Zacur, Vicente Grau
2018 conf
Image-Guided Procedures
Adam Szmul, Bartlomiej W. Papiez, Tahreema N. Matin, Fergus V. Gleeson, Julia A. Schnabel, Vicente Grau
2018 J jnl
IEEE J. Biomed. Health Informatics
Avan Suinesiaputra, Pierre Ablin, Xènia Albà, Martino Alessandrini, Jack Allen, Wenjia Bai, Serkan Çimen, Peter Claes, Brett R. Cowan, Jan D'hooge, Nicolas Duchateau, Jan Ehrhardt, Alejandro F. Frangi, Ali Gooya, Vicente Grau, Karim Lekadir, Allen Lu, Anirban Mukhopadhyay, Ilkay Öksüz, Nripesh Parajuli, Xavier Pennec, Marco Pereañez, Catarina Pinto, Paolo Piras, Marc-Michel Rohé, Daniel Rueckert, Dennis Säring, Maxime Sermesant, Kaleem Siddiqi, Mahdi Tabassian, Luciano Teresi, Sotirios A. Tsaftaris, Matthias Wilms, Alistair A. Young, Xingyu Zhang, Pau Medrano-Gracia
2018 conf
RAMBO+BIA+TIA@MICCAI
Nicolas Basty, Vicente Grau
2018 J jnl
J. Imaging
Benjamin Villard, Vicente Grau, Ernesto Zacur
2018 conf
RAMBO+BIA+TIA@MICCAI
Adam Szmul, Tahreema N. Matin, Fergus V. Gleeson, Julia A. Schnabel, Vicente Grau, Bartlomiej W. Papiez
2017 J jnl
Comput. methods Biomech. Biomed. Eng. Imaging Vis.
Kelly S. Burrowes, Tom Doel, Minsuok Kim, Claudia Vargas, Josep Roca, Vicente Grau, D. Kay
2017 conf
MIUA
Iulia A. Popescu, Alessandra Borlotti, Erica Dall' Armellina, Vicente Grau
2017 conf
MIUA
Benjamin Villard, Valentina Carapella, Rina Ariga, Vicente Grau, Ernesto Zacur
2017 J jnl
CoRR
Russell Bates, Benjamin Irving, Bostjan Markelc, Jakob Kaeppler, Ruth J. Muschel, Vicente Grau, Julia A. Schnabel
2017 conf
MICCAI (1)
Hoileong Lee, Tahreema N. Matin, Fergus Gleeson, Vicente Grau
2017 conf
BIVPCS/POCUS@MICCAI
Ernesto Zacur, Ana Mincholé, Benjamin Villard, Valentina Carapella, Rina Ariga, Blanca Rodríguez, Vicente Grau
2017 J jnl
IEEE Trans. Medical Imaging
Joanne Bates, Irvin Teh, Darryl McClymont, Peter Kohl, Jürgen E. Schneider, Vicente Grau
2017 conf
CMMI/RAMBO/SWITCH@MICCAI
Nicolas Basty, Darryl McClymont, Irvin Teh, Jürgen E. Schneider, Vicente Grau
2017 J jnl
J. Electronic Imaging
Adam Szmul, Bartlomiej W. Papiez, Andre Hallack, Vicente Grau, Julia A. Schnabel
2017 J jnl
Medical Image Anal.
Ramón Casero, Urszula Siedlecka, Elizabeth S. Jones, Lena Gruscheski, Matthew Gibb, Jürgen E. Schneider, Peter Kohl, Vicente Grau
2016 J jnl
IEEE Trans. Medical Imaging
Alfonso Bueno-Orovio, Irvin Teh, Jürgen E. Schneider, Kevin Burrage, Vicente Grau
2016 conf
STACOM@MICCAI
Benjamin Villard, Ernesto Zacur, Erica Dall' Armellina, Vicente Grau
2016 J jnl
IEEE Trans. Medical Imaging
Tobias Wech, Nicole Seiberlich, Andreas Schindele, Vicente Grau, Leonie Diffley, Michael L. Gyngell, Alfio Borzì, Herbert Köstler, Jürgen E. Schneider
2016 conf
CVPR Workshops
Adam Szmul, Bartlomiej W. Papiez, Russell Bates, Andre Hallack, Julia A. Schnabel, Vicente Grau
2016 conf
STACOM@MICCAI
Antoni Gurguí, Debora Gil, Vicente Grau, Enric Martí
2016 conf
STACOM@MICCAI
Iulia A. Popescu, Benjamin Irving, Alessandra Borlotti, Erica Dall' Armellina, Vicente Grau
2016 conf
MCV/BAMBI@MICCAI
Bartlomiej W. Papiez, Adam Szmul, Vicente Grau, J. Michael Brady, Julia A. Schnabel
2016 conf
MICCAI (2)
Tasos Papastylianou, Erica Dall' Armellina, Vicente Grau
2015 conf
FIMH
Tasos Papastylianou, Christopher Kelly, Benjamin Villard, Erica Dall' Armellina, Vicente Grau
2015 conf
STACOM@MICCAI
Jack Allen, Ernesto Zacur, Erica Dall' Armellina, Pablo Lamata, Vicente Grau
2015 J jnl
Comput. Medical Imaging Graph.
Tom Doel, David J. Gavaghan, Vicente Grau
2015 conf
FIMH
Joanne Bates, Irvin Teh, Peter Kohl, Jürgen E. Schneider, Vicente Grau
2014 conf
CinC
Christopher Kelly, Stefan Neubauer, Robin Choudhury, Erica Dall' Armellina, Vicente Grau
2013 J jnl
BMC Bioinform.
Boguslaw Obara, Mark A. J. Roberts, Judith P. Armitage, Vicente Grau
2013 conf
FIMH
Valentina Carapella, Rafel Bordas, Pras Pathmanathan, Jürgen E. Schneider, Peter Kohl, Kevin Burrage, Vicente Grau
2013 J jnl
IEEE Trans. Medical Imaging
Ayush Goyal, Jack Lee, Pablo Lamata, Jeroen P. H. M. van den Wijngaard, Pepijn van Horssen, Jos A. E. Spaan, Maria Siebes, Vicente Grau, Nic Smith
2013 J jnl
Medical Image Anal.
Gemma Piella, Mathieu De Craene, Constantine Butakoff, Vicente Grau, Cheng Yao, Shahrum Nedjati-Gilani, Graeme P. Penney, Alejandro F. Frangi
2012 J jnl
Bioinform.
Boguslaw Obara, Vicente Grau, Mark D. Fricker
2012 conf
ISBI
Boguslaw Obara, Mark D. Fricker, Vicente Grau
2012 B conf
Image Processing
Boguslaw Obara, Mark D. Fricker, Vicente Grau
2012 J jnl
IEEE Trans. Image Process.
Boguslaw Obara, Mark D. Fricker, David Gavaghan, Vicente Grau
2012 conf
ISBI
Boguslaw Obara, Mark D. Fricker, Vicente Grau
2012 conf
ISBI
Tom Doel, Tahreema N. Matin, Fergus Gleeson, David Gavaghan, Vicente Grau
2012 conf
CMSB
Matthew Gibb, Rebecca Burton, Christian Bollensdorff, Carlos Afonso, Tahier Mansoori, Ulrich Schotten, David Gavaghan, Blanca Rodríguez, Jürgen E. Schneider, Peter Kohl, Vicente Grau
2011 J jnl
Int. J. Biomed. Imaging
Jeyarajan Thiyagalingam, Daniel Goodman, Julia A. Schnabel, Anne E. Trefethen, Vicente Grau
2011 conf
FIMH
Ilyas E. Karadag, Martin J. Bishop, Patrick Hales, Jürgen E. Schneider, Peter Kohl, David Gavaghan, Vicente Grau
2011 J jnl
Medical Image Anal.
Kashif Rajpoot, Vicente Grau, J. Alison Noble, Harald Becher, Cezary Szmigielski
2010 conf
Euro-Par (2)
Mihai C. Duta, Jeyarajan Thiyagalingam, Anne E. Trefethen, Ayush Goyal, Vicente Grau, Nic Smith
2010 conf
STACOM/CESC
Ramón Casero, Rebecca Burton, T. Alexander Quinn, Christian Bollensdorff, Patrick Hales, Jürgen E. Schneider, Peter Kohl, Vicente Grau
2009 J jnl
IEEE Trans. Biomed. Eng.
Anton J. Prassl, Ferdinand Kickinger, Helmut Ahammer, Vicente Grau, Jürgen E. Schneider, Ernst Hofer, Edward J. Vigmond, Natalia A. Trayanova, Gernot Plank
2009 conf
FIMH
Martin J. Bishop, Patrick Hales, Gernot Plank, David Gavaghan, Jürgen E. Schneider, Vicente Grau
2009 conf
MICCAI (1)
Kashif Rajpoot, J. Alison Noble, Vicente Grau, Cezary Szmigielski, Harald Becher
2009 conf
ISBI
Kashif Rajpoot, Vicente Grau, J. Alison Noble
2009 conf
FIMH
Kashif Rajpoot, J. Alison Noble, Vicente Grau, Cezary Szmigielski, Harald Becher
2009 conf
FIMH
Matthew Gibb, Martin J. Bishop, Rebecca Burton, Peter Kohl, Vicente Grau, Gernot Plank, Blanca Rodríguez
2008 conf
ISBI
Vicente Grau, Cezary Szmigielski, Harald Becher, J. Alison Noble
2008 conf
ICCS (1)
Michal Plotkowiak, Blanca Rodríguez, Gernot Plank, Jürgen E. Schneider, David Gavaghan, Peter Kohl, Vicente Grau
2007 conf
ISBI
Tahier Mansoori, Gernot Plank, Rebecca Burton, Jürgen E. Schneider, Peter Kohl, David Gavaghan, Vicente Grau
2007 J jnl
IEEE Trans. Medical Imaging
Vicente Grau, Harald Becher, J. Alison Noble
2006 conf
ISBI
Vicente Grau, J. Alison Noble
2006 conf
MICCAI (1)
Vicente Grau, Harald Becher, J. Alison Noble
2006 J jnl
IEEE Trans. Medical Imaging
Vicente Grau, J. Crawford Downs, Claude Burgoyne
2005 A conf
MICCAI
Vicente Grau, J. Alison Noble
2004 J jnl
Pattern Recognit.
Vicente Grau, Mariano Alcañiz Raya, Carlos Monserrat, M. Carmen Juan Lizandra, Luis Martí-Bonmatí
2004 J jnl
IEEE Trans. Medical Imaging
Vicente Grau, Andrea J. U. Mewes, Mariano Alcañiz Raya, Ron Kikinis, Simon K. Warfield
2004 conf
ISBI
Vicente Grau, J. Crawford Downs, Claude Burgoyne
2003 conf
IS4TH
Carlos Monserrat, Oscar López, Ullrich Meier, Mariano Alcañiz Raya, M. Carmen Juan Lizandra, Vicente Grau
2001 conf
CARS
Ullrich Meier, Francisco Javier García, Nils-Christian Parr, Carlos Monserrat, José Antonio Gil, Vicente Grau, M. Carmen Juan Lizandra, Mariano Alcañiz Raya
2001 J jnl
J. Biomed. Informatics
Vicente Grau, Mariano Alcañiz Raya, M. Carmen Juan Lizandra, Carlos Monserrat, Christian Knoll
2001 conf
CARS
H. Varvaro, M. Carmen Juan Lizandra, Mariano Alcañiz Raya, Carlos Monserrat, Vicente Grau, José Antonio Gil
1999 J jnl
Pattern Recognit.
Christian Knoll, Mariano Alcañiz Raya, Vicente Grau, Carlos Monserrat, M. Carmen Juan Lizandra
1998 J jnl
Medical Image Anal.
Mariano Alcañiz Raya, Carlos Monserrat, Vicente Grau, Francisco Chinesta, Antonio Ramón, Salvador Albalat
1996 conf
VBC
Mariano Alcañiz Raya, Francisco Chinesta, Carlos Monserrat, Vicente Grau, Antonio Ramón
1996 conf
VBC
Mariano Alcañiz Raya, Vicente Grau, Christian Knoll, M. Carmen Juan Lizandra, Carlos Monserrat, Salvador Albalat
tests/integration/test_base_extractor.py
← Index tests/integration/test_base_extractor.py python
"""
Integration tests for the base Extractor class.
"""
import pytest
import hashlib
import math
from unittest.mock import Mock, patch, MagicMock
from collections import Counter

pytestmark = [pytest.mark.integration]


class TestExtractorStaticMethods:
    """Tests for static methods in Extractor class."""

    def test_process_binary_string_printable(self):
        """Test processing a printable binary string."""
        from redb.extractors.extractor import Extractor

        # Test with printable ASCII characters
        input_bytes = b"Hello World\x00\x00\x00"
        result = Extractor.process_binary_string(input_bytes)
        assert result == "Hello World"

    def test_process_binary_string_non_printable(self):
        """Test processing a string with non-printable characters."""
        from redb.extractors.extractor import Extractor

        # Test with non-printable characters
        input_bytes = b"\x01\x02Hello\x00"
        result = Extractor.process_binary_string(input_bytes)
        assert "\\x01" in result
        assert "\\x02" in result
        assert "Hello" in result

    def test_process_binary_string_empty(self):
        """Test processing an empty binary string."""
        from redb.extractors.extractor import Extractor

        input_bytes = b"\x00\x00\x00"
        result = Extractor.process_binary_string(input_bytes)
        assert result == ""

    def test_process_binary_string_all_printable(self):
        """Test processing a fully printable string."""
        from redb.extractors.extractor import Extractor

        input_bytes = b"TestString123"
        result = Extractor.process_binary_string(input_bytes)
        assert result == "TestString123"

    def test_remove_non_utf8_valid(self):
        """Test removing non-UTF8 characters from valid UTF8 string."""
        from redb.extractors.extractor import Extractor

        input_bytes = b"Hello World"
        result = Extractor.remove_non_utf8(input_bytes)
        assert result == b"Hello World"

    def test_remove_non_utf8_with_invalid(self):
        """Test removing non-UTF8 characters from mixed string."""
        from redb.extractors.extractor import Extractor

        # Mix of valid UTF8 and invalid bytes
        input_bytes = b"Hello\xff\xfeWorld"
        result = Extractor.remove_non_utf8(input_bytes)
        # Should remove the invalid bytes
        assert b"\xff" not in result
        assert b"\xfe" not in result
        assert b"Hello" in result
        assert b"World" in result

    def test_remove_non_utf8_empty(self):
        """Test removing non-UTF8 from empty string."""
        from redb.extractors.extractor import Extractor

        result = Extractor.remove_non_utf8(b"")
        assert result == b""


class TestExtractorEntropyCalculation:
    """Tests for entropy calculation in Extractor class."""

    def test_calculate_entropy_empty_data(self, elf_binary_path, mock_logger):
        """Test entropy calculation with empty data."""
        from redb.extractors.basicproperties import BasicPropertiesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = BasicPropertiesExtractor(elf_binary_path, mock_logger)
            result = extractor.calculate_entropy(b"")
            assert result == 0.0

    def test_calculate_entropy_uniform_data(self, elf_binary_path, mock_logger):
        """Test entropy calculation with uniform (low entropy) data."""
        from redb.extractors.basicproperties import BasicPropertiesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = BasicPropertiesExtractor(elf_binary_path, mock_logger)
            # All same bytes = 0 entropy
            uniform_data = b"\x00" * 256
            result = extractor.calculate_entropy(uniform_data)
            assert result == 0.0

    def test_calculate_entropy_random_data(self, elf_binary_path, mock_logger, high_entropy_data):
        """Test entropy calculation with random (high entropy) data."""
        from redb.extractors.basicproperties import BasicPropertiesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = BasicPropertiesExtractor(elf_binary_path, mock_logger)
            result = extractor.calculate_entropy(high_entropy_data)
            # Random data should have entropy close to 8 (max for bytes)
            assert result > 7.0

    def test_calculate_entropy_binary_data(self, elf_binary_path, mock_logger):
        """Test entropy calculation with binary data."""
        from redb.extractors.basicproperties import BasicPropertiesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = BasicPropertiesExtractor(elf_binary_path, mock_logger)
            # Two equally distributed values = 1 bit entropy
            binary_data = b"\x00\x01" * 128
            result = extractor.calculate_entropy(binary_data)
            assert abs(result - 1.0) < 0.01

    def test_calculate_entropy_string_data(self, elf_binary_path, mock_logger):
        """Test entropy calculation with string data."""
        from redb.extractors.basicproperties import BasicPropertiesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = BasicPropertiesExtractor(elf_binary_path, mock_logger)
            # String with two equally distributed characters
            string_data = "ab" * 100
            result = extractor.calculate_entropy(string_data)
            assert abs(result - 1.0) < 0.01


class TestExtractorInitialization:
    """Tests for Extractor initialization."""

    def test_extractor_hashes_computed_on_init(self, elf_binary_path, mock_logger, known_hashes):
        """Test that hashes are computed during initialization."""
        from redb.extractors.basicproperties import BasicPropertiesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = BasicPropertiesExtractor(elf_binary_path, mock_logger)

            assert extractor.md5 == known_hashes['md5']
            assert extractor.sha1 == known_hashes['sha1']
            assert extractor.sha256 == known_hashes['sha256']

    def test_extractor_hash_dataclass_created(self, elf_binary_path, mock_logger, known_hashes):
        """Test that Hash dataclass is created during initialization."""
        from redb.extractors.basicproperties import BasicPropertiesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = BasicPropertiesExtractor(elf_binary_path, mock_logger)

            assert extractor.hash.md5 == known_hashes['md5']
            assert extractor.hash.sha1 == known_hashes['sha1']
            assert extractor.hash.sha256 == known_hashes['sha256']

    def test_extractor_binary_cached_property(self, elf_binary_path, mock_logger, elf_binary_content):
        """Test that binary content is loaded as cached property."""
        from redb.extractors.basicproperties import BasicPropertiesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = BasicPropertiesExtractor(elf_binary_path, mock_logger)

            # Access binary property
            binary = extractor.binary
            assert binary == elf_binary_content

            # Second access should return cached value (same id)
            assert extractor.binary is binary

    def test_extractor_with_exporters(self, elf_binary_path, mock_logger, mock_print_exporter):
        """Test extractor initialization with exporters."""
        from redb.extractors.basicproperties import BasicPropertiesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = BasicPropertiesExtractor(
                elf_binary_path,
                mock_logger,
                exporters=[mock_print_exporter]
            )

            assert len(extractor.exporters) == 1
            assert extractor.exporters[0] is mock_print_exporter

    def test_extractor_with_index_prefix(self, elf_binary_path, mock_logger):
        """Test extractor initialization with custom index prefix."""
        from redb.extractors.basicproperties import BasicPropertiesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = BasicPropertiesExtractor(
                elf_binary_path,
                mock_logger,
                index_prefix="custom_prefix"
            )

            assert "custom_prefix" in extractor.elastic_index

    def test_extractor_known_benign_flag(self, elf_binary_path, mock_logger):
        """Test extractor with known_benign flag."""
        from redb.extractors.basicproperties import BasicPropertiesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = BasicPropertiesExtractor(
                elf_binary_path,
                mock_logger,
                known_benign=True
            )

            assert extractor.known_benign is True
            assert extractor.known_malicious is False

    def test_extractor_known_malicious_flag(self, elf_binary_path, mock_logger):
        """Test extractor with known_malicious flag."""
        from redb.extractors.basicproperties import BasicPropertiesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = BasicPropertiesExtractor(
                elf_binary_path,
                mock_logger,
                known_malicious=True
            )

            assert extractor.known_benign is False
            assert extractor.known_malicious is True


class TestExtractorExportData:
    """Tests for export_data method."""

    def test_export_data_with_print_exporter(self, elf_binary_path, mock_logger, mock_print_exporter, capsys):
        """Test export_data with PrintExporter."""
        from redb.extractors.basicproperties import BasicPropertiesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = BasicPropertiesExtractor(
                elf_binary_path,
                mock_logger,
                exporters=[mock_print_exporter]
            )

            result = extractor.export_data()
            # Should succeed with PrintExporter
            assert result is True

    def test_export_data_no_exporters(self, elf_binary_path, mock_logger):
        """Test export_data with no exporters configured."""
        from redb.extractors.basicproperties import BasicPropertiesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = BasicPropertiesExtractor(
                elf_binary_path,
                mock_logger,
                exporters=[]
            )

            result = extractor.export_data()
            # Should succeed with no exporters (nothing to export)
            assert result is True


class TestExtractorEdgeCases:
    """Tests for edge cases in Extractor class."""

    def test_extractor_with_nonexistent_file(self, mock_logger):
        """Test extractor with non-existent file."""
        from redb.extractors.basicproperties import BasicPropertiesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            with pytest.raises(FileNotFoundError):
                BasicPropertiesExtractor("/nonexistent/file.bin", mock_logger)

    def test_entropy_none_data(self, elf_binary_path, mock_logger):
        """Test entropy calculation with None returns 0."""
        from redb.extractors.basicproperties import BasicPropertiesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = BasicPropertiesExtractor(elf_binary_path, mock_logger)
            result = extractor.calculate_entropy(None)
            assert result == 0.0

    def test_process_binary_string_high_bytes(self):
        """Test processing binary string with high byte values."""
        from redb.extractors.extractor import Extractor

        # Characters above 126 are non-printable
        input_bytes = b"\x7f\x80\x81\xff"
        result = Extractor.process_binary_string(input_bytes)
        assert "\\x7f" in result
        assert "\\x80" in result
        assert "\\xff" in result