Flxis Röntgen Camera

Het project Flxis (nee, geen spelfout) bestaat uit een volledig röntgen camera subsysteem. Het biedt een low-cost camera systeem met een hoge integratie graad. Alle benodigde besturingen om een duidelijk beeld te krijgen zijn in het systeem verwerkt, van het aansturen van de iris, het aansturen van de Image Intensifier tot en met de volledige beeldbewerking is in het systeem aanwezig.

Het project is begonnen bij Philips Medical Systems en is ontsprongen uit het idee om een low-cost subsysteem met ingebouwde beeldbewerking aan te kunnen bieden aan OEM klanten. Een flinke hoeveelheid opties en een (geplande) aanpassing van de gebruikte microcontroller tijdens de loop van het project maakte dat het belangrijkste feature van het systeem flexibiliteit moest zijn, vandaar ook de naam.

Een korte opsomming van de features van het Flxis subsysteem:

  • 1024x1024 camera resolutie
  • Digital CameraLink ingang
  • Tot 2 Digital CameraLink uitgangen
  • DoseRate uitgang
  • Seriële CXA poort
  • Service poort
  • Optionele CAN bus interface
  • Iris control
  • Image Intensifier control
  • Beeldbewerking: o.a. Ruisonderdrukking, Hold, Flip, Rotate, Review

Techniek:

  • Beeldverwerking via Spartan-3 FPGA
  • Infineon C166 controller (later XC167)
  • Flash (code), RAM (data) en EEPROM (configuratie) geheugen
  • 3 seriële poorten. CXA interface, Service en Secondary Control
  • CAN bus
  • 3 PWM besturingen met A/D feedback. Iris, Image Intensifier en ND Filter

Realtime UML is gebruikt om het software ontwerp te maken. Als operating systeem is gekozen voor het real-time multi-threaded CMX systeem. Er draaien 10 threads in het systeem om de diverse taken uit te voeren, waaronder een aantal t.b.v de beeld bewerking. Als intercommunicatie middel is er gekozen voor simpele mailboxen. Om de reactie tijden te garanderen zijn alle interrupts zo minimaal mogelijk gehouden. Het echte werk wordt zoveel mogelijk in de threads gedaan.

Dit alles is geprogrammeerd in Embedded C++. Als tooling is er gebruik gemaakt van een Tasking IDE, IBM Rational suite, UCM, ClearCase, ClearQuest), TICS en C-Cover. De benodigde test en configuratie tools zijn in C++ geschreven onder Visual Studio .NET.