OsiriX fait parti de ces applications qui ont permis au Macintosh de retrouver grâce auprès des professionnels dans l'imagerie médicale. Ce logiciel open-source qui est en quelque sorte un Photoshop dédié au monde de l'imagerie scientifique s'appuyant sur le protocole DICOM, se distingue de ses concurrents par sa puissance (héritée notamment des technologies de Mac OS X qu'il emploie à merveille) et son prix (il est gratuit). En fin d'année dernière, Antoine Rosset, grand initiateur de ce projet, présentait la version 3.0. Nous avons profité de l'occasion pour lui poser quelques questions et voir comment Osirix poursuit son petit bout de chemin, entre les sollicitations du monde Windows et l'intérêt de Blizzard pour ses jeux…
Osirix 3.0 ne fonctionne que sous Leopard. Qu'est-ce qui vous a poussé à faire ce choix ? A-t-il été aisé d'utiliser les nouvelles API de Leopard ?
Antoine Rosset : La plus grosse contrainte est le support du 64-bit: pour compiler en 64-bit, il faut obligatoirement passer sous le developer kit 10.5, rendant l'application incompatible avec les systèmes antérieurs. Pour supporter 10.4, il nous aurait donc fallu avoir deux codes sources passablement différents. Les nouvelles API spécifiques de Leopard, comme le protocole iChat Theater, étaient faciles à utiliser. Il était par contre beaucoup plus difficile de ne plus utiliser certaines API, non supportées par le 64-bit, comme celle de QuickTime. Pour contourner ces problèmes d'API 32-bit non disponibles en 64-bit, nous avons gardé un 'shell' 32-bit (une application 'fille', appelée par OsiriX 64-bit).
Globalement, le passage au 64-bit fut extrêmement difficile et complexe. Le passage du PowerPC à Intel était un jeu d'enfant en comparaison... Il faut bien se rendre compte que Mac OS 32-bit a été totalement recompilé en 64-bit, de A à Z. Ce changement est extrêmement complexe également pour Apple, raison pour laquelle Mac OS 10.5 contient pas mal de bugs et que la 10.5.2 arrive déjà bientôt. Actuellement, Apple développe son OS sur 4 plateformes différentes: PowerPC, PowerPC 64-bit, x86 et x86 64-bit. Aucune librairie n'est commune à ces 4 plateformes, et un bogue peut apparaître de façon indépendante dans chaque plateforme. Un vrai casse-tête pour les ingénieurs Apple. Vivement qu'on travaille tous en x86 64-bit, dans 2 ou 3 ans....
Partant de constat, est-ce que Leopard est selon vous la dernière version de Mac OS X à supporter les PowerPC ?
AR : Je pense que toutes les nouvelles technologies à venir seront supportées uniquement sur les processeurs Intel. Apple a l'habitude de ce genre de transition: on voit déjà ça avec Carbon dont le support est arrêté pour le 64bit. À ce titre, le support du 64-bit sous PowerPC est étonnant. Il ne doit pas y avoir beaucoup de PowerPC avec plus de 4 Go. Il y a deux ans, le prix de 4 Go représentait une petite fortune. Les jours du PowerPC sont certainement comptés: un an, deux ans ? Personnellement, je me réjouis: l'état actuel avec les 'quad-binaries' (ppc, ppc64, i386, x86_64), c'est le cauchemar... Vivement un environnement unique sous Intel.
Sur votre site, vous évoquez la version 64 bits qui sur un Mac Intel est 10 % plus rapide que la version 32 bits. Qu'en est-il pour la version PowerPC ?
AR : Cette différence vient directement de l'implémentation du 64-bit dans les processeurs Intel et PowerPC. Sur Intel, lorsque le processeur switche en mode 64-bit, le nombre de registres double. Les registres du processeur représentent les emplacements mémoires sur lesquels les calculs sont effectués. Plus il y en a disponibles, moins l'information a besoin d'être déplacée depuis le cache du processeur et/ou la RAM. On gagne donc du temps s'il y a plus de registres. Avec les processeurs PowerPC, ce n'est pas le cas. Les registres sont au même nombre en 32-bit ou en 64-bit.
Est-ce qu'il y a d'autres API de Leopard que vous aimeriez intégrer à Osirix ?
AR : OpenGL a beaucoup évolué : il serait intéressant de passer aux nouvelles techniques de programmation OpenGL (multi-threading OpenGL, async transfers, GPGPU en général). Core Image également, cette API apporterait également certainement des performances à OsiriX. On n'a pas encore eu le temps de s'y intéresser de près.
De manière plus générale, quelles sont les avancées d'Osirix 3.0 par rapport aux précédentes versions ?
AR : Le 64-bit est la grande nouveauté. Avec les derniers scanners, on peut facilement produire des examens de plus de 10000 images pour un seul patient. Charger 10000 images dans OsiriX requiert une mémoire de 10 Go. La limite de 4 Go des applications 32-bit était donc largement dépassée. Le 64-bit est donc incontournable en imagerie médicale.
Par ailleurs, la version 3.0 apporte des fonctions de recalage 3D, utiles pour l'imagerie multimodale PET, CT ou IRM.
Le support du protocole iChat Theater fait également d'OsiriX un vrai outil de téléradiologie.
La base de données est beaucoup plus robuste, avec des fonctions de stockage de base de données sur des iPod ou disques externes, ainsi qu'un accès à distance plus performant (remote sharing).
Et enfin, la version 3.0 est de loin la version la plus testée et la plus robuste. La période de test a pris plus de 3 mois, alors que les versions précédentes étaient validées sur seulement 2-3 semaines.
Avec cette nouvelle version, Osirix semble avoir franchi un nouveau cap. Qu'est-ce qui vous a poussé à rendre la version 64 bits payante ?
AR : OsiriX est un projet open-source, développé par des gens travaillant de façon bénévole. Le projet est donc extrêmement fragile, ne dépendant que de la bonne volonté et du temps libre des développeurs. Nous avons fait le choix de créer une entité indépendante, la Fondation OsiriX, qui pourra financer des développeurs si nécessaire, promouvoir OsiriX auprès de l'industrie, et surtout assurer un avenir à long terme du projet. Le côté 'projet open-source développé dans une cave durant la nuit' nous limite également dans des partenariats avec l'industrie, y compris avec Apple. Ils souhaitent un minimum de garantie sur l'avenir du projet, avant d'investir sur celui-ci. Voilà les raisons pour lesquelles on lance cette fondation, en essayant de générer des revenus: l'indépendance financière est la clef pour un avenir serein pour OsiriX.
Quelle a été la réaction des professionnels suite à l'annonce de cette fondation ?Est-ce qu'il y a des revendeurs spécialisés ou des fournisseurs de solution qui vivent indirectement grâce à OsiriX ?
AR : Les réactions sont mitigées: il y a ceux qui se réjouissent de nous voir gagner en stabilité, avec une garantie pour l'avenir, mais on découvre également de plus en plus de gens qui trouvent que ce projet OsiriX est "gênant". La vie était certainement plus facile pour beaucoup de revendeurs quand tous les logiciels étaient sous Windows, avec un prix minimum de 3000 dollars. Maintenant il y a OsiriX, gratuit, et tournant sous Mac OS... J'imagine que l'argumentaire n'est pas toujours facile quand un utilisateur leur demande: "Mais, par rapport à OsiriX, comment se place votre logiciel? Avez-vous une version compatible avec Mac OS ? Vous savez, je peux faire la même chose avec OsiriX, et c'est gratuit".
Il nous faut donc gérer cette animosité de certaines personnes, et ce n'est pas toujours facile. Concernant des fournisseurs, oui, nous avons de plus en plus de compagnies qui offrent du support spécialisé pour le Mac en imagerie avec OsiriX.
Vous a-t-on approché pour porter OsiriX sur Windows ou pour développer le logiciel de manière commerciale ?
AR : Oui, on voit clairement une évolution de ce côté. Il y a 3 ans, l'industrie nous trouvait ridicules: "L'imagerie médicale sur Mac OS est impossible et ne sert à rien." Il y a deux ans, c'était "Votre logiciel nous intéresse (et surtout nos clients disent être intéressés par une solution sur Mac), mais vous êtes uniquement sur Mac OS...". L'année passée: "Quand est-ce que vous passez sur Windows ?". Et cette année : "Combien ça coûterait pour que vous développiez une version Windows ? Nous sommes prêts à payer...". Pour l'instant, un passage sous Windows nous demanderait beaucoup de ressources, et risquerait de mettre en péril le développement de la version Mac OS, à laquelle nous tenons énormément. Mais la question reste ouverte, et nous étudions les solutions de développement multiplateforme comme GTK et QT.
On a retrouvé OsiriX dans Starcraft II. N'avez-vous pas été surpris de voir un éditeur de jeux s'intérésser à votre solution ?
AR :Oui, c'est étonnant, mais assez logique. Blizzard nous avait contactés il y a deux ans concernant la technique du 'Volume Rendering' et son utilisation dans les jeux. Ils se demandaient comment on pouvait obtenir des rendus 3D 'aussi réels'. La réponse est simple, les rendus en imagerie médicale sont basés sur des données réelles, contrairement au rendus dans les jeux. La technologie actuelle de rendu dans les jeux est basée sur un rendu de surface, par couches, plus ou moins transparentes. C'est une reproduction artificielle d'un objet, totalement virtuelle, qui prend également énormément de temps à designer.
En imagerie médicale, on utilise des techniques de raycasting, travaillant avec de vrais volumes. Cette technique de 'Volume Rendering' est évidemment plus proche de la réalité: un objet est considéré dans sa totalité, et non plus une succession limitée de couches. Le réalisme est beaucoup plus simple à obtenir en volume rendering. Le problème de ce rendu est la lenteur: le raycasting consomme beaucoup de temps CPU, et les GPU actuels ne sont pas conçu pour.
Mais les choses vont certainement changer: Nvidia vient de racheter Mental Ray et son moteur de rendu de volume. C'est un signe de l'intérêt pour le volume rendering.
Pour les concepteurs de jeux, le travail de design sera grandement simplifié avec le volume rendering. Ils pourront utiliser les CT et IRM médicaux pour acquérir la 'base' de leurs personnages, avec un réalisme parfait et immédiat, puisqu'il s'agira de 'vraies' personnes scannées.
Pour la petite histoire, l'image utilisée dans Starcraft, représentant un combattant humanoïde, est en fait une petite grand-mère de 80 ans. Avec le volume rendering, vous pouvez transformer n'importe quel scanner de grand-mère en zombie sanguinaire... Je pense donc que dans un avenir proche les grands éditeurs de jeux 3D vont sûrement s'intéresser de très prêt à la radiologie médicale.
Osirix 3.0 ne fonctionne que sous Leopard. Qu'est-ce qui vous a poussé à faire ce choix ? A-t-il été aisé d'utiliser les nouvelles API de Leopard ?
Antoine Rosset : La plus grosse contrainte est le support du 64-bit: pour compiler en 64-bit, il faut obligatoirement passer sous le developer kit 10.5, rendant l'application incompatible avec les systèmes antérieurs. Pour supporter 10.4, il nous aurait donc fallu avoir deux codes sources passablement différents. Les nouvelles API spécifiques de Leopard, comme le protocole iChat Theater, étaient faciles à utiliser. Il était par contre beaucoup plus difficile de ne plus utiliser certaines API, non supportées par le 64-bit, comme celle de QuickTime. Pour contourner ces problèmes d'API 32-bit non disponibles en 64-bit, nous avons gardé un 'shell' 32-bit (une application 'fille', appelée par OsiriX 64-bit).
Globalement, le passage au 64-bit fut extrêmement difficile et complexe. Le passage du PowerPC à Intel était un jeu d'enfant en comparaison... Il faut bien se rendre compte que Mac OS 32-bit a été totalement recompilé en 64-bit, de A à Z. Ce changement est extrêmement complexe également pour Apple, raison pour laquelle Mac OS 10.5 contient pas mal de bugs et que la 10.5.2 arrive déjà bientôt. Actuellement, Apple développe son OS sur 4 plateformes différentes: PowerPC, PowerPC 64-bit, x86 et x86 64-bit. Aucune librairie n'est commune à ces 4 plateformes, et un bogue peut apparaître de façon indépendante dans chaque plateforme. Un vrai casse-tête pour les ingénieurs Apple. Vivement qu'on travaille tous en x86 64-bit, dans 2 ou 3 ans....
Partant de constat, est-ce que Leopard est selon vous la dernière version de Mac OS X à supporter les PowerPC ?
AR : Je pense que toutes les nouvelles technologies à venir seront supportées uniquement sur les processeurs Intel. Apple a l'habitude de ce genre de transition: on voit déjà ça avec Carbon dont le support est arrêté pour le 64bit. À ce titre, le support du 64-bit sous PowerPC est étonnant. Il ne doit pas y avoir beaucoup de PowerPC avec plus de 4 Go. Il y a deux ans, le prix de 4 Go représentait une petite fortune. Les jours du PowerPC sont certainement comptés: un an, deux ans ? Personnellement, je me réjouis: l'état actuel avec les 'quad-binaries' (ppc, ppc64, i386, x86_64), c'est le cauchemar... Vivement un environnement unique sous Intel.
Sur votre site, vous évoquez la version 64 bits qui sur un Mac Intel est 10 % plus rapide que la version 32 bits. Qu'en est-il pour la version PowerPC ?
AR : Cette différence vient directement de l'implémentation du 64-bit dans les processeurs Intel et PowerPC. Sur Intel, lorsque le processeur switche en mode 64-bit, le nombre de registres double. Les registres du processeur représentent les emplacements mémoires sur lesquels les calculs sont effectués. Plus il y en a disponibles, moins l'information a besoin d'être déplacée depuis le cache du processeur et/ou la RAM. On gagne donc du temps s'il y a plus de registres. Avec les processeurs PowerPC, ce n'est pas le cas. Les registres sont au même nombre en 32-bit ou en 64-bit.
Est-ce qu'il y a d'autres API de Leopard que vous aimeriez intégrer à Osirix ?
AR : OpenGL a beaucoup évolué : il serait intéressant de passer aux nouvelles techniques de programmation OpenGL (multi-threading OpenGL, async transfers, GPGPU en général). Core Image également, cette API apporterait également certainement des performances à OsiriX. On n'a pas encore eu le temps de s'y intéresser de près.
De manière plus générale, quelles sont les avancées d'Osirix 3.0 par rapport aux précédentes versions ?
AR : Le 64-bit est la grande nouveauté. Avec les derniers scanners, on peut facilement produire des examens de plus de 10000 images pour un seul patient. Charger 10000 images dans OsiriX requiert une mémoire de 10 Go. La limite de 4 Go des applications 32-bit était donc largement dépassée. Le 64-bit est donc incontournable en imagerie médicale.
Par ailleurs, la version 3.0 apporte des fonctions de recalage 3D, utiles pour l'imagerie multimodale PET, CT ou IRM.
Le support du protocole iChat Theater fait également d'OsiriX un vrai outil de téléradiologie.
La base de données est beaucoup plus robuste, avec des fonctions de stockage de base de données sur des iPod ou disques externes, ainsi qu'un accès à distance plus performant (remote sharing).
Et enfin, la version 3.0 est de loin la version la plus testée et la plus robuste. La période de test a pris plus de 3 mois, alors que les versions précédentes étaient validées sur seulement 2-3 semaines.
Avec cette nouvelle version, Osirix semble avoir franchi un nouveau cap. Qu'est-ce qui vous a poussé à rendre la version 64 bits payante ?
AR : OsiriX est un projet open-source, développé par des gens travaillant de façon bénévole. Le projet est donc extrêmement fragile, ne dépendant que de la bonne volonté et du temps libre des développeurs. Nous avons fait le choix de créer une entité indépendante, la Fondation OsiriX, qui pourra financer des développeurs si nécessaire, promouvoir OsiriX auprès de l'industrie, et surtout assurer un avenir à long terme du projet. Le côté 'projet open-source développé dans une cave durant la nuit' nous limite également dans des partenariats avec l'industrie, y compris avec Apple. Ils souhaitent un minimum de garantie sur l'avenir du projet, avant d'investir sur celui-ci. Voilà les raisons pour lesquelles on lance cette fondation, en essayant de générer des revenus: l'indépendance financière est la clef pour un avenir serein pour OsiriX.
Quelle a été la réaction des professionnels suite à l'annonce de cette fondation ?Est-ce qu'il y a des revendeurs spécialisés ou des fournisseurs de solution qui vivent indirectement grâce à OsiriX ?
AR : Les réactions sont mitigées: il y a ceux qui se réjouissent de nous voir gagner en stabilité, avec une garantie pour l'avenir, mais on découvre également de plus en plus de gens qui trouvent que ce projet OsiriX est "gênant". La vie était certainement plus facile pour beaucoup de revendeurs quand tous les logiciels étaient sous Windows, avec un prix minimum de 3000 dollars. Maintenant il y a OsiriX, gratuit, et tournant sous Mac OS... J'imagine que l'argumentaire n'est pas toujours facile quand un utilisateur leur demande: "Mais, par rapport à OsiriX, comment se place votre logiciel? Avez-vous une version compatible avec Mac OS ? Vous savez, je peux faire la même chose avec OsiriX, et c'est gratuit".
Il nous faut donc gérer cette animosité de certaines personnes, et ce n'est pas toujours facile. Concernant des fournisseurs, oui, nous avons de plus en plus de compagnies qui offrent du support spécialisé pour le Mac en imagerie avec OsiriX.
Vous a-t-on approché pour porter OsiriX sur Windows ou pour développer le logiciel de manière commerciale ?
AR : Oui, on voit clairement une évolution de ce côté. Il y a 3 ans, l'industrie nous trouvait ridicules: "L'imagerie médicale sur Mac OS est impossible et ne sert à rien." Il y a deux ans, c'était "Votre logiciel nous intéresse (et surtout nos clients disent être intéressés par une solution sur Mac), mais vous êtes uniquement sur Mac OS...". L'année passée: "Quand est-ce que vous passez sur Windows ?". Et cette année : "Combien ça coûterait pour que vous développiez une version Windows ? Nous sommes prêts à payer...". Pour l'instant, un passage sous Windows nous demanderait beaucoup de ressources, et risquerait de mettre en péril le développement de la version Mac OS, à laquelle nous tenons énormément. Mais la question reste ouverte, et nous étudions les solutions de développement multiplateforme comme GTK et QT.
On a retrouvé OsiriX dans Starcraft II. N'avez-vous pas été surpris de voir un éditeur de jeux s'intérésser à votre solution ?
AR :Oui, c'est étonnant, mais assez logique. Blizzard nous avait contactés il y a deux ans concernant la technique du 'Volume Rendering' et son utilisation dans les jeux. Ils se demandaient comment on pouvait obtenir des rendus 3D 'aussi réels'. La réponse est simple, les rendus en imagerie médicale sont basés sur des données réelles, contrairement au rendus dans les jeux. La technologie actuelle de rendu dans les jeux est basée sur un rendu de surface, par couches, plus ou moins transparentes. C'est une reproduction artificielle d'un objet, totalement virtuelle, qui prend également énormément de temps à designer.
En imagerie médicale, on utilise des techniques de raycasting, travaillant avec de vrais volumes. Cette technique de 'Volume Rendering' est évidemment plus proche de la réalité: un objet est considéré dans sa totalité, et non plus une succession limitée de couches. Le réalisme est beaucoup plus simple à obtenir en volume rendering. Le problème de ce rendu est la lenteur: le raycasting consomme beaucoup de temps CPU, et les GPU actuels ne sont pas conçu pour.
Mais les choses vont certainement changer: Nvidia vient de racheter Mental Ray et son moteur de rendu de volume. C'est un signe de l'intérêt pour le volume rendering.
Pour les concepteurs de jeux, le travail de design sera grandement simplifié avec le volume rendering. Ils pourront utiliser les CT et IRM médicaux pour acquérir la 'base' de leurs personnages, avec un réalisme parfait et immédiat, puisqu'il s'agira de 'vraies' personnes scannées.
Pour la petite histoire, l'image utilisée dans Starcraft, représentant un combattant humanoïde, est en fait une petite grand-mère de 80 ans. Avec le volume rendering, vous pouvez transformer n'importe quel scanner de grand-mère en zombie sanguinaire... Je pense donc que dans un avenir proche les grands éditeurs de jeux 3D vont sûrement s'intéresser de très prêt à la radiologie médicale.