Vasileios Belagiannis

162 papers A* 10A 10B 4C 7Misc 1Journal 90Unranked 37
YearRankTypeTitle / Venue / Authors
2026 J jnl
CoRR
Rohan Asthana, Vasileios Belagiannis
2026 J jnl
CoRR
Yutong Yang, Katarina Popovic, Julian Wiederer, Markus Braun, Vasileios Belagiannis, Bin Yang
2026 J jnl
CoRR
Mirlan Karimov, Teodora Spasojevic, Markus Braun, Julian Wiederer, Vasileios Belagiannis, Marc Pollefeys
2026 J jnl
CoRR
Yuan Lin, Murong Xu, Marc Hölle, Chinmay Prabhakar, Andreas Maier, Vasileios Belagiannis, Bjoern Menze, Suprosanna Shit
2026 J jnl
CoRR
Johanna S. Fröhlich, Bastian Heinlein, Jan U. Claar, Hans Rosenberger, Vasileios Belagiannis, Ralf R. Müller
2026 J jnl
Trans. Mach. Learn. Res.
Johanna S. Fröhlich, Bastian Heinlein, Jan U. Claar, Hans Rosenberger, Vasileios Belagiannis, Ralf R. Müller
2026 conf
VISAPP (3)
Amir El-Ghoussani, André Kaup, Nassir Navab, Gustavo Carneiro, Vasileios Belagiannis
2025 A conf
IROS
Yu Yao, Salil Bhatnagar, Markus Mazzola, Vasileios Belagiannis, Igor Gilitschenski, Luigi Palmieri, Simon Razniewski, Marcel Hallgarten
2025 J jnl
CoRR
Yu Yao, Salil Bhatnagar, Markus Mazzola, Vasileios Belagiannis, Igor Gilitschenski, Luigi Palmieri, Simon Razniewski, Marcel Hallgarten
2025 J jnl
CoRR
Patrick Schmidt, Vasileios Belagiannis, Lazaros Nalpantidis
2025 J jnl
CoRR
Rohan Asthana, Joschua Conrad, Maurits Ortmanns, Vasileios Belagiannis
2025 J jnl
Trans. Mach. Learn. Res.
Rohan Asthana, Joschua Conrad, Maurits Ortmanns, Vasileios Belagiannis
2025 J jnl
IEEE Trans. Circuits Syst. I Regul. Pap.
Joschua Conrad, Simon Wilhelmstätter, Rohan Asthana, Vasileios Belagiannis, Maurits Ortmanns
2025 A conf
WACV
Michele De Vita, Vasileios Belagiannis
2025 J jnl
Trans. Mach. Learn. Res.
Hoang Anh Dung, Cuong C. Nguyen, Vasileios Belagiannis, Thanh-Toan Do, Gustavo Carneiro
2025 C conf
ISCAS
Joschua Conrad, Simon Wilhelmstätter, Holger Mandry, Paul Kässer, Ahmed Abdelaal, Rohan Asthana, Vasileios Belagiannis, Maurits Ortmanns
2025 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Julia Hornauer, Amir El-Ghoussani, Vasileios Belagiannis
2025 J jnl
CoRR
Julia Hornauer, Amir El-Ghoussani, Vasileios Belagiannis
2025 J jnl
IEEE Trans. Medical Imaging
Yuyuan Liu, Yu Tian, Chong Wang, Yuanhong Chen, Fengbei Liu, Vasileios Belagiannis, Gustavo Carneiro
2025 conf
ICCVW
Marc Hölle, Walter Kellermann, Vasileios Belagiannis
2025 J jnl
CoRR
Marc Hölle, Walter Kellermann, Vasileios Belagiannis
2025 J jnl
CoRR
Amir El-Ghoussani, André Kaup, Nassir Navab, Gustavo Carneiro, Vasileios Belagiannis
2024 conf
NewCAS
Joschua Conrad, John G. Kauffman, Simon Wilhelmstätter, Rohan Asthana, Vasileios Belagiannis, Maurits Ortmanns
2024 conf
CoLLAs
Amir El-Ghoussani, Julia Hornauer, Gustavo Carneiro, Vasileios Belagiannis
2024 J jnl
CoRR
Amir El-Ghoussani, Julia Hornauer, Gustavo Carneiro, Vasileios Belagiannis
2024 J jnl
CoRR
Michele De Vita, Vasileios Belagiannis
2024 C conf
IV
Alexander Tsaregorodtsev, Michael Buchholz, Vasileios Belagiannis
2024 conf
ECCV (1)
Yuyuan Liu, Yuanhong Chen, Hu Wang, Vasileios Belagiannis, Ian D. Reid, Gustavo Carneiro
2024 J jnl
CoRR
Yuyuan Liu, Yuanhong Chen, Hu Wang, Vasileios Belagiannis, Ian Reid, Gustavo Carneiro
2024 J jnl
CoRR
Rohan Asthana, Joschua Conrad, Youssef Dawoud, Maurits Ortmanns, Vasileios Belagiannis
2024 J jnl
Trans. Mach. Learn. Res.
Rohan Asthana, Joschua Conrad, Youssef Dawoud, Maurits Ortmanns, Vasileios Belagiannis
2024 conf
AICAS
Joschua Conrad, Simon Wilhelmstätter, Rohan Asthana, Vasileios Belagiannis, Maurits Ortmanns
2023 J jnl
CoRR
Alexander Tsaregorodtsev, Michael Buchholz, Vasileios Belagiannis
2023 conf
EUSIPCO
Alexander Tsaregorodtsev, Michael Buchholz, Vasileios Belagiannis
2023 C conf
IV
Alexander Tsaregorodtsev, Adrian Holzbock, Jan Strohbeck, Michael Buchholz, Vasileios Belagiannis
2023 J jnl
CoRR
Alexander Tsaregorodtsev, Adrian Holzbock, Jan Strohbeck, Michael Buchholz, Vasileios Belagiannis
2023 conf
EUSIPCO
Adrian Holzbock, Achyut Hegde, Klaus Dietmayer, Vasileios Belagiannis
2023 J jnl
CoRR
Adrian Holzbock, Achyut Hegde, Klaus Dietmayer, Vasileios Belagiannis
2023 J jnl
CoRR
Adrian Holzbock, Nicolai Kern, Christian Waldschmidt, Klaus Dietmayer, Vasileios Belagiannis
2023 A conf
WACV
Julia Hornauer, Vasileios Belagiannis
2023 A conf
IROS
Julian Wiederer, Julian Schmidt, Ulrich Kressel, Klaus Dietmayer, Vasileios Belagiannis
2023 J jnl
CoRR
Julian Wiederer, Julian Schmidt, Ulrich Kressel, Klaus Dietmayer, Vasileios Belagiannis
2023 A conf
WACV
Youssef Dawoud, Arij Bouazizi, Katharina Ernst, Gustavo Carneiro, Vasileios Belagiannis
2023 conf
EUSIPCO
Annika Briegleb, Thomas Haubner, Vasileios Belagiannis, Walter Kellermann
2023 J jnl
CoRR
Annika Briegleb, Thomas Haubner, Vasileios Belagiannis, Walter Kellermann
2023 J jnl
Pattern Recognit.
Filipe R. Cordeiro, Ragav Sachdeva, Vasileios Belagiannis, Ian D. Reid, Gustavo Carneiro
2023 A* conf
ICCV
Julia Hornauer, Adrian Holzbock, Vasileios Belagiannis
2023 J jnl
CoRR
Julia Hornauer, Adrian Holzbock, Vasileios Belagiannis
2023 J jnl
Comput. Vis. Image Underst.
Alexander Tsaregorodtsev, Vasileios Belagiannis
2023 conf
ITSC
Adrian Holzbock, Alexander Tsaregorodtsev, Vasileios Belagiannis
2023 J jnl
CoRR
Adrian Holzbock, Alexander Tsaregorodtsev, Vasileios Belagiannis
2023 C conf
IV
Julian Schmidt, Pascal Huissel, Julian Wiederer, Julian Jordan, Vasileios Belagiannis, Klaus Dietmayer
2023 J jnl
CoRR
Julian Schmidt, Pascal Huissel, Julian Wiederer, Julian Jordan, Vasileios Belagiannis, Klaus Dietmayer
2023 A* conf
ICCV
Yuyuan Liu, Choubo Ding, Yu Tian, Guansong Pang, Vasileios Belagiannis, Ian D. Reid, Gustavo Carneiro
2023 J jnl
Pattern Recognit.
Ragav Sachdeva, Filipe Rolim Cordeiro, Vasileios Belagiannis, Ian Reid, Gustavo Carneiro
2023 conf
ICCV (Workshops)
Youssef Dawoud, Gustavo Carneiro, Vasileios Belagiannis
2023 J jnl
CoRR
Youssef Dawoud, Gustavo Carneiro, Vasileios Belagiannis
2022 conf
ITSC
Julian Wiederer, Julian Schmidt, Ulrich Kressel, Klaus Dietmayer, Vasileios Belagiannis
2022 J jnl
CoRR
Julian Wiederer, Julian Schmidt, Ulrich Kressel, Klaus Dietmayer, Vasileios Belagiannis
2022 C conf
IV
Marcel Schreiber, Vasileios Belagiannis, Claudius Gläser, Klaus Dietmayer
2022 J jnl
CoRR
Marcel Schreiber, Vasileios Belagiannis, Claudius Gläser, Klaus Dietmayer
2022 C conf
IV
Adrian Holzbock, Alexander Tsaregorodtsev, Youssef Dawoud, Klaus Dietmayer, Vasileios Belagiannis
2022 J jnl
CoRR
Adrian Holzbock, Alexander Tsaregorodtsev, Youssef Dawoud, Klaus Dietmayer, Vasileios Belagiannis
2022 A* conf
CVPR
Fengbei Liu, Yu Tian, Yuanhong Chen, Yuyuan Liu, Vasileios Belagiannis, Gustavo Carneiro
2022 J jnl
CoRR
Youssef Dawoud, Katharina Ernst, Gustavo Carneiro, Vasileios Belagiannis
2022 conf
MOVI@MICCAI
Youssef Dawoud, Katharina Ernst, Gustavo Carneiro, Vasileios Belagiannis
2022 conf
ITSC
Alexander Tsaregorodtsev, Johannes Müller, Jan Strohbeck, Martin Herrmann, Michael Buchholz, Vasileios Belagiannis
2022 J jnl
CoRR
Alexander Tsaregorodtsev, Johannes Müller, Jan Strohbeck, Martin Herrmann, Michael Buchholz, Vasileios Belagiannis
2022 conf
ECCV Workshops (1)
Adrian Holzbock, Nicolai Kern, Christian Waldschmidt, Klaus Dietmayer, Vasileios Belagiannis
2022 conf
ECCV (20)
Julia Hornauer, Vasileios Belagiannis
2022 J jnl
CoRR
Julia Hornauer, Vasileios Belagiannis
2022 J jnl
CoRR
Julia Hornauer, Vasileios Belagiannis
2022 J jnl
CoRR
Youssef Dawoud, Arij Bouazizi, Katharina Ernst, Gustavo Carneiro, Vasileios Belagiannis
2022 A* conf
ICRA
Michael Rudolph, Youssef Dawoud, Ronja Güldenring, Lazaros Nalpantidis, Vasileios Belagiannis
2022 J jnl
CoRR
Michael Rudolph, Youssef Dawoud, Ronja Güldenring, Lazaros Nalpantidis, Vasileios Belagiannis
2022 J jnl
CoRR
Dung Anh Hoang, Cuong Nguyen, Vasileios Belagiannis, Gustavo Carneiro
2022 conf
DART@MICCAI
Azade Farshad, Anastasia Makarevich, Vasileios Belagiannis, Nassir Navab
2022 A* conf
IJCAI
Arij Bouazizi, Adrian Holzbock, Ulrich Kressel, Klaus Dietmayer, Vasileios Belagiannis
2022 J jnl
CoRR
Arij Bouazizi, Adrian Holzbock, Ulrich Kressel, Klaus Dietmayer, Vasileios Belagiannis
2022 A conf
BMVC
Osman Ülger, Julian Wiederer, Mohsen Ghafoorian, Vasileios Belagiannis, Pascal Mettes
2022 J jnl
CoRR
Osman Ülger, Julian Wiederer, Mohsen Ghafoorian, Vasileios Belagiannis, Pascal Mettes
2022 conf
MICCAI (3)
Fengbei Liu, Yuanhong Chen, Yu Tian, Yuyuan Liu, Chong Wang, Vasileios Belagiannis, Gustavo Carneiro
2022 A* conf
CVPR
Yuyuan Liu, Yu Tian, Yuanhong Chen, Fengbei Liu, Vasileios Belagiannis, Gustavo Carneiro
2022 J jnl
CoRR
Yuyuan Liu, Choubo Ding, Yu Tian, Guansong Pang, Vasileios Belagiannis, Ian D. Reid, Gustavo Carneiro
2022 J jnl
CoRR
Yuyuan Liu, Yu Tian, Chong Wang, Yuanhong Chen, Fengbei Liu, Vasileios Belagiannis, Gustavo Carneiro
2021 J jnl
CoRR
Fengbei Liu, Yu Tian, Yuanhong Chen, Yuyuan Liu, Vasileios Belagiannis, Gustavo Carneiro
2021 Misc conf
CoRL
Julian Wiederer, Arij Bouazizi, Marco Troina, Ulrich Kressel, Vasileios Belagiannis
2021 J jnl
CoRR
Julian Wiederer, Arij Bouazizi, Marco Troina, Ulrich Kressel, Vasileios Belagiannis
2021 conf
ITSC
Nico Engel, Vasileios Belagiannis, Klaus Dietmayer
2021 J jnl
CoRR
Nico Engel, Vasileios Belagiannis, Klaus Dietmayer
2021 A* conf
ICRA
Marcel Schreiber, Vasileios Belagiannis, Claudius Gläser, Klaus Dietmayer
2021 A conf
WACV
Ragav Sachdeva, Filipe R. Cordeiro, Vasileios Belagiannis, Ian D. Reid, Gustavo Carneiro
2021 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Irtiza Hasan, Francesco Setti, Theodore Tsesmelis, Vasileios Belagiannis, Sikandar Amin, Alessio Del Bue, Marco Cristani, Fabio Galasso
2021 B conf
AVSS
Arij Bouazizi, Ulrich Kressel, Vasileios Belagiannis
2021 J jnl
CoRR
Arij Bouazizi, Ulrich Kressel, Vasileios Belagiannis
2021 J jnl
CoRR
Filipe R. Cordeiro, Ragav Sachdeva, Vasileios Belagiannis, Ian D. Reid, Gustavo Carneiro
2021 J jnl
CoRR
Anastasia Makarevich, Azade Farshad, Vasileios Belagiannis, Nassir Navab
2021 J jnl
CoRR
Fengbei Liu, Yu Tian, Filipe R. Cordeiro, Vasileios Belagiannis, Ian D. Reid, Gustavo Carneiro
2021 conf
ICECS
Joschua Conrad, Biyi Jiang, Paul Kässer, Vasileios Belagiannis, Maurits Ortmanns
2021 J jnl
CoRR
Alexander Tsaregorodtsev, Vasileios Belagiannis
2021 J jnl
CoRR
Yuyuan Liu, Yu Tian, Yuanhong Chen, Fengbei Liu, Vasileios Belagiannis, Gustavo Carneiro
2021 J jnl
IEEE Access
Nico Engel, Vasileios Belagiannis, Klaus Dietmayer
2021 A conf
BMVC
Filipe Rolim Cordeiro, Vasileios Belagiannis, Ian Reid, Gustavo Carneiro
2021 J jnl
CoRR
Filipe R. Cordeiro, Vasileios Belagiannis, Ian D. Reid, Gustavo Carneiro
2021 J jnl
CoRR
Ragav Sachdeva, Filipe R. Cordeiro, Vasileios Belagiannis, Ian D. Reid, Gustavo Carneiro
2021 B conf
FG
Arij Bouazizi, Julian Wiederer, Ulrich Kressel, Vasileios Belagiannis
2021 J jnl
CoRR
Arij Bouazizi, Julian Wiederer, Ulrich Kressel, Vasileios Belagiannis
2021 conf
MLMI@MICCAI
Fengbei Liu, Yu Tian, Filipe R. Cordeiro, Vasileios Belagiannis, Ian D. Reid, Gustavo Carneiro
2021 J jnl
CoRR
Fengbei Liu, Yu Tian, Filipe R. Cordeiro, Vasileios Belagiannis, Ian D. Reid, Gustavo Carneiro
2021 conf
ICCVW
Julia Hornauer, Lazaros Nalpantidis, Vasileios Belagiannis
2021 J jnl
CoRR
Julia Hornauer, Lazaros Nalpantidis, Vasileios Belagiannis
2020 conf
EUSIPCO
Leslie Casas, Attila Klimmek, Nassir Navab, Vasileios Belagiannis
2020 B conf
GLOBECOM
Werner G. Teich, Ruiqi Liu, Vasileios Belagiannis
2020 conf
ITSC
Markus Horn, Nico Engel, Vasileios Belagiannis, Michael Buchholz, Klaus Dietmayer
2020 J jnl
CoRR
Markus Horn, Nico Engel, Vasileios Belagiannis, Michael Buchholz, Klaus Dietmayer
2020 J jnl
CoRR
Marcel Schreiber, Vasileios Belagiannis, Claudius Gläser, Klaus Dietmayer
2020 J jnl
CoRR
Ragav Sachdeva, Filipe R. Cordeiro, Vasileios Belagiannis, Ian D. Reid, Gustavo Carneiro
2020 conf
ECML/PKDD (5)
Youssef Dawoud, Julia Hornauer, Gustavo Carneiro, Vasileios Belagiannis
2020 J jnl
CoRR
Youssef Dawoud, Julia Hornauer, Gustavo Carneiro, Vasileios Belagiannis
2020 A* conf
ICRA
Marcel Schreiber, Vasileios Belagiannis, Claudius Gläser, Klaus Dietmayer
2020 A conf
IROS
Jan Strohbeck, Vasileios Belagiannis, Johannes Müller, Marcel Schreiber, Martin Herrmann, Daniel Wolf, Michael Buchholz
2020 J jnl
CoRR
Nico Engel, Vasileios Belagiannis, Klaus Dietmayer
2020 J jnl
Comput. methods Biomech. Biomed. Eng. Imaging Vis.
Gustavo Carneiro, João Manuel R. S. Tavares, Andrew P. Bradley, João Paulo Papa, Vasileios Belagiannis, Jacinto C. Nascimento, Zhi Lu
2020 A conf
IROS
Julian Wiederer, Arij Bouazizi, Ulrich Kressel, Vasileios Belagiannis
2020 J jnl
CoRR
Julian Wiederer, Arij Bouazizi, Ulrich Kressel, Vasileios Belagiannis
2019 conf
ITSC
Nico Engel, Stefan Hoermann, Markus Horn, Vasileios Belagiannis, Klaus Dietmayer
2019 J jnl
CoRR
Nico Engel, Stefan Hoermann, Markus Horn, Vasileios Belagiannis, Klaus Dietmayer
2019 J jnl
Comput. methods Biomech. Biomed. Eng. Imaging Vis.
Gustavo Carneiro, João Manuel R. S. Tavares, Andrew P. Bradley, João Paulo Papa, Jacinto C. Nascimento, Jaime S. Cardoso, Zhi Lu, Vasileios Belagiannis
2019 J jnl
CoRR
Leslie Casas, Gustavo Carneiro, Nassir Navab, Vasileios Belagiannis
2019 J jnl
CoRR
Irtiza Hasan, Francesco Setti, Theodore Tsesmelis, Vasileios Belagiannis, Sikandar Amin, Alessio Del Bue, Marco Cristani, Fabio Galasso
2019 conf
ITSC
Johannes Müller, Martin Herrmann, Jan Strohbeck, Vasileios Belagiannis, Michael Buchholz
2019 J jnl
CoRR
Johannes Müller, Martin Herrmann, Jan Strohbeck, Vasileios Belagiannis, Michael Buchholz
2019 J jnl
CoRR
Marcel Schreiber, Vasileios Belagiannis, Claudius Gläser, Klaus Dietmayer
2018 J jnl
Comput. methods Biomech. Biomed. Eng. Imaging Vis.
Gustavo Carneiro, João Manuel R. S. Tavares, Andrew P. Bradley, João Paulo Papa, Jacinto C. Nascimento, Jaime S. Cardoso, Zhi Lu, Vasileios Belagiannis
2018 conf
ECCV Workshops (4)
Vasileios Belagiannis, Azade Farshad, Fabio Galasso
2018 J jnl
CoRR
Vasileios Belagiannis, Azade Farshad, Fabio Galasso
2018 J jnl
CoRR
Leslie Casas, Nassir Navab, Vasileios Belagiannis
2018 J jnl
Comput. methods Biomech. Biomed. Eng. Imaging Vis.
Felix Achilles, Federico Tombari, Vasileios Belagiannis, Anna Mira Loesch, Soheyl Noachtar, Nassir Navab
2018 ed.
DLMIA/ML-CDS@MICCAI
Danail Stoyanov, Zeike Taylor, Gustavo Carneiro, Tanveer F. Syeda-Mahmood, Anne L. Martel, Lena Maier-Hein, João Manuel R. S. Tavares, Andrew P. Bradley, João Paulo Papa, Vasileios Belagiannis, Jacinto C. Nascimento, Zhi Lu, Sailesh Conjeti, Mehdi Moradi, Hayit Greenspan, Anant Madabhushi
2017 ed.
DLMIA/ML-CDS@MICCAI
M. Jorge Cardoso, Tal Arbel, Gustavo Carneiro, Tanveer F. Syeda-Mahmood, João Manuel R. S. Tavares, Mehdi Moradi, Andrew P. Bradley, Hayit Greenspan, João Paulo Papa, Anant Madabhushi, Jacinto C. Nascimento, Jaime S. Cardoso, Vasileios Belagiannis, Zhi Lu
2017 B conf
FG
Vasileios Belagiannis, Andrew Zisserman
2016 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Vasileios Belagiannis, Sikandar Amin, Mykhaylo Andriluka, Bernt Schiele, Nassir Navab, Slobodan Ilic
2016 J jnl
IEEE Trans. Medical Imaging
Shadi Albarqouni, Christoph Baur, Felix Achilles, Vasileios Belagiannis, Stefanie Demirci, Nassir Navab
2016 J jnl
Int. J. Comput. Assist. Radiol. Surg.
Christoph Baur, Fausto Milletari, Vasileios Belagiannis, Nassir Navab, Pascal Fallavollita
2016 ed.
LABELS/DLMIA@MICCAI
Gustavo Carneiro, Diana Mateus, Loïc Peter, Andrew P. Bradley, João Manuel R. S. Tavares, Vasileios Belagiannis, João Paulo Papa, Jacinto C. Nascimento, Marco Loog, Zhi Lu, Jaime S. Cardoso, Julien Cornebise
2016 conf
3DV
Iro Laina, Christian Rupprecht, Vasileios Belagiannis, Federico Tombari, Nassir Navab
2016 J jnl
CoRR
Iro Laina, Christian Rupprecht, Vasileios Belagiannis, Federico Tombari, Nassir Navab
2016 J jnl
Mach. Vis. Appl.
Vasileios Belagiannis, Xinchao Wang, Horesh Ben Shitrit, Kiyoshi Hashimoto, Ralf Stauder, Yoshimitsu Aoki, Michael Kranzfelder, Armin Schneider, Pascal Fua, Slobodan Ilic, Hubertus Feussner, Nassir Navab
2016 J jnl
Medical Image Anal.
Nicola Rieke, David Joseph Tan, Chiara Amat di San Filippo, Federico Tombari, Mohamed Alsheakhali, Vasileios Belagiannis, Abouzar Eslami, Nassir Navab
2016 J jnl
CoRR
Vasileios Belagiannis, Andrew Zisserman
2015 conf
ISBI
Lichao Wang, Vasileios Belagiannis, Carsten Marr, Fabian J. Theis, Guang-Zhong Yang, Nassir Navab
2015 conf
ISBI
Mehmet Yigitsoy, Vasileios Belagiannis, Aleksander Djurka, Amin Katouzian, Slobodan Ilic, Franjo Pernus, Abouzar Eslami, Nassir Navab
2015 C conf
ICVS
Falk Schubert, Daniele Casaburo, Dirk Dickmanns, Vasileios Belagiannis
2015 A* conf
ICCV
Vasileios Belagiannis, Christian Rupprecht, Gustavo Carneiro, Nassir Navab
2015 J jnl
CoRR
Vasileios Belagiannis, Christian Rupprecht, Gustavo Carneiro, Nassir Navab
2015 conf
MICCAI (1)
Nicola Rieke, David Joseph Tan, Mohamed Alsheakhali, Federico Tombari, Chiara Amat di San Filippo, Vasileios Belagiannis, Abouzar Eslami, Nassir Navab
2014 A* conf
CVPR
Vasileios Belagiannis, Sikandar Amin, Mykhaylo Andriluka, Bernt Schiele, Nassir Navab, Slobodan Ilic
2014 conf
MICCAI (2)
Fausto Milletari, Vasileios Belagiannis, Nassir Navab, Pascal Fallavollita
2014 conf
AMDO
Vasileios Belagiannis, Christian Amann, Nassir Navab, Slobodan Ilic
2014 conf
ECCV Workshops (1)
Vasileios Belagiannis, Xinchao Wang, Bernt Schiele, Pascal Fua, Slobodan Ilic, Nassir Navab
2012 conf
ECCV (4)
Vasileios Belagiannis, Falk Schubert, Nassir Navab, Slobodan Ilic
2009 conf
ICIRA
Rigas Kouskouridas, Nikolaos Kyriakoulis, Dimitrios Chrysostomou, Vasileios Belagiannis, Spyridon G. Mouroutsos, Antonios Gasteratos
tests/unit/conftest_binja_stubs.py
← Index tests/unit/conftest_binja_stubs.py python
"""Stubs for binaryninja module so decompiler unit tests can import
without a Binary Ninja license."""

import sys
from unittest.mock import MagicMock
from enum import IntEnum


# Stub binaryninja.enums
class BranchType(IntEnum):
    UnconditionalBranch = 0
    FalseBranch = 1
    TrueBranch = 2
    CallDestination = 3
    FunctionReturn = 4
    SystemCall = 5
    IndirectBranch = 6
    ExceptionBranch = 7
    UnresolvedBranch = 8
    UserDefinedBranch = 9


class InstructionTextTokenType(IntEnum):
    TextToken = 0
    InstructionToken = 1
    RegisterToken = 2
    IntegerToken = 3
    PossibleAddressToken = 4
    BeginMemoryOperandToken = 10
    EndMemoryOperandToken = 11
    FloatingPointToken = 12
    AnnotationToken = 13
    CodeRelativeAddressToken = 14
    ArgumentNameToken = 15
    HexDumpByteValueToken = 16
    HexDumpSkippedByteToken = 17
    HexDumpInvalidByteToken = 18
    HexDumpTextToken = 19
    OpcodeToken = 20
    StringToken = 21
    CharacterConstantToken = 22
    KeywordToken = 23
    TypeNameToken = 24
    FieldNameToken = 25
    NameSpaceToken = 26
    NameSpaceSeparatorToken = 27
    TagToken = 28
    StructOffsetToken = 29
    StructOffsetByteValueToken = 30
    StructureHexDumpTextToken = 31
    GotoLabelToken = 32
    CommentToken = 33
    PossibleValueToken = 34
    PossibleValueTypeToken = 35
    ArrayIndexToken = 36
    IndentationToken = 37
    UnknownMemoryToken = 38
    EnumerationMemberToken = 39
    OperationToken = 40
    BaseStructureOffsetToken = 41
    BaseStructureSeparatorToken = 42
    BraceToken = 43
    PlainTextToken = 44
    CollapsedInformationToken = 45


class SymbolType(IntEnum):
    FunctionSymbol = 0
    ImportAddressSymbol = 1
    ImportedFunctionSymbol = 2
    DataSymbol = 3
    ImportedDataSymbol = 4
    ExternalSymbol = 5
    LibraryFunctionSymbol = 6
    SymbolicFunctionSymbol = 7
    LocalLabelSymbol = 8


class HighLevelILOperation(IntEnum):
    HLIL_NOP = 0
    HLIL_ADD = 1
    HLIL_SUB = 2
    HLIL_MUL = 3
    HLIL_DIVS = 4
    HLIL_NEG = 5
    HLIL_NOT = 6
    HLIL_AND = 7
    HLIL_OR = 8
    HLIL_XOR = 9
    HLIL_LSR = 10
    HLIL_LSL = 11
    HLIL_MODS = 12
    HLIL_IF = 13
    HLIL_GOTO = 14
    HLIL_RET = 15
    HLIL_ASSIGN = 16
    HLIL_CALL = 17
    HLIL_VAR = 18
    HLIL_CONST = 19
    HLIL_BLOCK = 20


class LowLevelILOperation(IntEnum):
    LLIL_NOP = 0
    LLIL_SET_REG = 1
    LLIL_SET_REG_SPLIT = 2
    LLIL_SET_FLAG = 3
    LLIL_LOAD = 4
    LLIL_STORE = 5
    LLIL_PUSH = 6
    LLIL_POP = 7
    LLIL_REG = 8
    LLIL_CONST = 9
    LLIL_CONST_PTR = 10
    LLIL_FLAG = 11
    LLIL_FLAG_BIT = 12
    LLIL_ADD = 13
    LLIL_ADC = 14
    LLIL_SUB = 15
    LLIL_SBB = 16
    LLIL_AND = 17
    LLIL_OR = 18
    LLIL_XOR = 19
    LLIL_LSL = 20
    LLIL_LSR = 21
    LLIL_ASR = 22
    LLIL_ROL = 23
    LLIL_RLC = 24
    LLIL_ROR = 25
    LLIL_RRC = 26
    LLIL_MUL = 27
    LLIL_MULU_DP = 28
    LLIL_MULS_DP = 29
    LLIL_DIVU = 30
    LLIL_DIVU_DP = 31
    LLIL_DIVS = 32
    LLIL_DIVS_DP = 33
    LLIL_MODU = 34
    LLIL_MODS = 35
    LLIL_NEG = 36
    LLIL_NOT = 37
    LLIL_SX = 38
    LLIL_ZX = 39
    LLIL_LOW_PART = 40
    LLIL_JUMP = 41
    LLIL_JUMP_TO = 42
    LLIL_CALL = 43
    LLIL_CALL_SSA = 44
    LLIL_RET = 45
    LLIL_NORET = 46
    LLIL_IF = 47
    LLIL_GOTO = 48
    LLIL_FLAG_COND = 49
    LLIL_CMP_E = 50
    LLIL_CMP_NE = 51
    LLIL_CMP_SLT = 52
    LLIL_CMP_ULT = 53
    LLIL_CMP_SLE = 54
    LLIL_CMP_ULE = 55
    LLIL_CMP_SGE = 56
    LLIL_CMP_UGE = 57
    LLIL_CMP_SGT = 58
    LLIL_CMP_UGT = 59
    LLIL_TEST_BIT = 60
    LLIL_BOOL_TO_INT = 61
    LLIL_TAILCALL = 62
    LLIL_SYSCALL = 63
    LLIL_BP = 64
    LLIL_TRAP = 65
    LLIL_UNDEF = 66
    LLIL_UNIMPL = 67
    LLIL_UNIMPL_MEM = 68


class AnalysisState(IntEnum):
    IdleState = 0
    DisassembleState = 1
    AnalyzeState = 2


def install_binja_stubs():
    """Install binaryninja module stubs into sys.modules.
    Call this BEFORE importing any decompiler modules.
    Idempotent — returns the existing mock if already installed.
    """
    if "binaryninja" in sys.modules and not isinstance(sys.modules["binaryninja"], MagicMock):
        return sys.modules["binaryninja"]
    if "binaryninja" in sys.modules and hasattr(sys.modules["binaryninja"], "_redb_stub"):
        return sys.modules["binaryninja"]

    # Create the main mock
    bn_mock = MagicMock()
    bn_mock._redb_stub = True

    # Wire up enums as real enums (not mocks)
    enums_mod = MagicMock()
    enums_mod.BranchType = BranchType
    enums_mod.InstructionTextTokenType = InstructionTextTokenType
    enums_mod.SymbolType = SymbolType
    enums_mod.HighLevelILOperation = HighLevelILOperation
    enums_mod.LowLevelILOperation = LowLevelILOperation
    enums_mod.AnalysisState = AnalysisState

    bn_mock.enums = enums_mod
    bn_mock.enums.BranchType = BranchType
    bn_mock.enums.InstructionTextTokenType = InstructionTextTokenType
    bn_mock.enums.SymbolType = SymbolType
    bn_mock.enums.HighLevelILOperation = HighLevelILOperation
    bn_mock.enums.LowLevelILOperation = LowLevelILOperation
    bn_mock.enums.AnalysisState = AnalysisState

    # LowLevelILOperation on the top-level module
    bn_mock.LowLevelILOperation = LowLevelILOperation
    bn_mock.LowLevelILInstruction = MagicMock

    # highlevelil sub-module
    hlil_mod = MagicMock()
    hlil_mod.HighLevelILInstruction = type("HighLevelILInstruction", (), {})
    bn_mock.highlevelil = hlil_mod

    # lowlevelil sub-module
    llil_mod = MagicMock()
    llil_mod.LowLevelILAdd = type("LowLevelILAdd", (), {})
    llil_mod.LowLevelILConst = type("LowLevelILConst", (), {})
    llil_mod.LowLevelILConstPtr = type("LowLevelILConstPtr", (), {})
    llil_mod.LowLevelILLoad = type("LowLevelILLoad", (), {})
    llil_mod.LowLevelILLsl = type("LowLevelILLsl", (), {})
    llil_mod.LowLevelILMul = type("LowLevelILMul", (), {})
    llil_mod.LowLevelILPop = type("LowLevelILPop", (), {})
    llil_mod.LowLevelILPush = type("LowLevelILPush", (), {})
    llil_mod.LowLevelILReg = type("LowLevelILReg", (), {})
    llil_mod.LowLevelILStore = type("LowLevelILStore", (), {})
    llil_mod.LowLevelILSub = type("LowLevelILSub", (), {})
    bn_mock.lowlevelil = llil_mod

    # mediumlevelil sub-module
    mlil_mod = MagicMock()
    mlil_mod.MediumLevelILConst = type("MediumLevelILConst", (), {})
    mlil_mod.MediumLevelILConstPtr = type("MediumLevelILConstPtr", (), {})
    bn_mock.mediumlevelil = mlil_mod

    sys.modules["binaryninja"] = bn_mock
    sys.modules["binaryninja.enums"] = enums_mod
    sys.modules["binaryninja.lowlevelil"] = llil_mod
    sys.modules["binaryninja.highlevelil"] = hlil_mod
    sys.modules["binaryninja.mediumlevelil"] = mlil_mod

    return bn_mock


# ============================================================================
# Mock Factories
# ============================================================================

class MockToken:
    """Mock for instruction text tokens."""
    def __init__(self, text, token_type=None):
        self.text = text
        if token_type is None:
            self.type = InstructionTextTokenType.TextToken
        else:
            self.type = token_type

    def __str__(self):
        return self.text


class MockDisassemblyLine:
    """Mock for a disassembly text line."""
    def __init__(self, tokens=None):
        self.tokens = tokens or []

    def __str__(self):
        return "".join(t.text for t in self.tokens)


class MockEdge:
    """Mock for a basic block edge."""
    def __init__(self, source=None, target=None, edge_type=None):
        self.source = source
        self.target = target
        self.type = edge_type


class MockBasicBlock:
    """Mock for a basic block."""
    def __init__(
        self,
        start=0,
        end=0,
        disassembly_text=None,
        outgoing_edges=None,
        incoming_edges=None,
        dominators=None,
        post_dominators=None,
        dominance_frontier=None,
        dominator_tree_children=None,
        instruction_count=None,
    ):
        self.start = start
        self.end = end
        self.disassembly_text = disassembly_text or []
        self.outgoing_edges = outgoing_edges or []
        self.incoming_edges = incoming_edges or []
        self.dominators = dominators if dominators is not None else [self]
        self.post_dominators = post_dominators if post_dominators is not None else [self]
        self.dominance_frontier = dominance_frontier if dominance_frontier is not None else set()
        self.dominator_tree_children = dominator_tree_children or []
        self.instruction_count = instruction_count if instruction_count is not None else len(self.disassembly_text)

    def __iter__(self):
        return iter(self.disassembly_text)


class MockFunction:
    """Mock for a Binary Ninja function."""
    def __init__(
        self,
        name="sub_1000",
        start=0x1000,
        basic_blocks=None,
        instructions=None,
        hlil=None,
        llil=None,
        mlil=None,
        symbol=None,
        is_thunk=False,
        stack_adjustment=0,
        call_sites=None,
        caller_sites=None,
        low_level_il=None,
    ):
        self.name = name
        self.start = start
        self.basic_blocks = basic_blocks or []
        self._instructions = instructions or []
        self.hlil = hlil
        self.llil = llil
        self.mlil = mlil
        self.symbol = symbol
        self.is_thunk = is_thunk
        self.stack_adjustment = stack_adjustment
        self.call_sites = call_sites or []
        self.caller_sites = caller_sites or []
        self.low_level_il = low_level_il

    @property
    def instructions(self):
        return iter(self._instructions)

    def get_basic_block_at(self, addr):
        for bb in self.basic_blocks:
            if bb.start <= addr < bb.end or bb.start == addr:
                return bb
        return self.basic_blocks[0] if self.basic_blocks else None

    def get_regs_read_by(self, addr, arch):
        return []

    def get_regs_written_by(self, addr, arch):
        return []

    def __str__(self):
        return f"uint64_t {self.name}()"


class MockBinaryView:
    """Mock for a Binary Ninja binary view."""
    def __init__(
        self,
        functions=None,
        strings=None,
        arch=None,
    ):
        self.functions = functions or []
        self.strings = strings or []
        self.arch = arch

    def get_segment_at(self, addr):
        return None

    def get_section_at(self, addr):
        return None

    def get_symbol_at(self, addr):
        return None

    def get_functions_at(self, addr):
        return []

    def get_string_at(self, addr):
        return None

    def get_data_var_at(self, addr):
        return None


class MockSymbol:
    """Mock for a Binary Ninja symbol."""
    def __init__(self, symbol_type=None, name="unknown"):
        self.type = symbol_type if symbol_type is not None else SymbolType.FunctionSymbol
        self.name = name
        self.full_name = name


class MockILInstruction:
    """Mock for an IL instruction (LLIL/HLIL)."""
    def __init__(self, operation, operands=None, address=0):
        self.operation = operation
        self.operands = operands or []
        self.address = address


class MockStringEntry:
    """Mock for a Binary Ninja string reference."""
    def __init__(self, value, raw=None, start=0, length=0, string_type=None):
        self.value = value
        self.raw = raw if raw is not None else value.encode("utf-8") if isinstance(value, str) else value
        self.start = start
        self.length = length if length else len(self.raw)
        self.type = string_type or MockStringType("Utf8String")


class MockStringType:
    """Mock for string type."""
    def __init__(self, name="Utf8String"):
        self.name = name