Welcome to OsiriX Plugin Basics,
On this site I will share my knowledge about creating plugins for OsiriX, probably the best DICOM viewer available for MacOSX. I will also support Horos, a fork of OsiriX v5.9 published in Februar 2015, which is getting more and more attention. A compilation of the differences can be seen HERE. Most of the OsiriX plugins are compatible with Horos.
For constructive criticism, ideas about more topics or just a question
use my contact form.
Getting started
- Step 1 – Development Environment
- Step 2 – Your First Plugin
- Step 3 – “Hello World”-Tutorials (Part 1)
- Debugging & Plugin Troubleshooting
Types of Plugins
imageFilter
- Manipulating Pixels (fImage)
- Browse Through Images (curPix,PixList,maxMovieIndex, Displayed2DViewers)
roiTool
- Common ROI functions (name, color, load, save, rotate ROIs)
- Specific ROI functions: tMesure (Line), tROI (Rectangle), tOval (Circle), tOPolygon (Open Polygon), tCPolygon (Closed Polygon), tAngle, tText, tArrow, tPencil, t3Dpoint, t2DPoint, tPlain (Brush ROI), tLayerROI (Layer Overlay), tAxis, tDynAngle (dynamic Angle)
fusionPlugin
database
I hadn’t time to get around the database plugin. That’s why I recommend the blog by OsiriXnewby for database plugin and plugin interfaces.
- Find Patients, Studies, Images
- Database Selection
- Open 2D Viewer, Open 4D Viewer, Open Combined Images
More …
- Close a Window, NextPatient, NextSeries, Windowing
- Create an empty Viewer Controller
- Reading Dicom Metadata
- Observer – Plugin waits for actions (Capture the Mouse)
- Source Code on GitHub
- Plugin Versioning
Integrate Toolkits into your Plugins
- Self compiled ITK (Binary Build) with sample plugin
- More information can be found at Konrad’s blog
- VTK, TubeTK, CMTK, VMTK, IRTK, IGSTK, FLTK, CamiTK
- MeVisLab (OsiriX Bridge)
- Import Results (TIFF, JPG, PDF) from external Software
- Plugins using the 3D MPR Mode
Create User Interfaces
- OsiriX Plugin Graphical User Interface (GUI)
- Create window, which stays on top
- Multilingual dialogs
- Integrate Icon in the OsiriX Settings Dialog
FAQ
- Create Screenshots for Presentations
- OsiriX Version & Plugin Version
- Osirix under Windows and Linux?
Hi All, may i help me to find this problem OsiriX web server:
Couldn't create temporary user: *** -[NSCFDictionary setObject:forKey:]: attempt to insert nil value (key: Sender)
Study share failed: cannot identify user.
I am sorry, but I can’t help you with that. I recommend you visit the Yahoo OsiriX Developer Group.
Please write two words about database plugins!
How to find patients, operators names and so on.
How to make selection from database using complicated selection criteria (by name , age and operators name for example)
I will get onto that. But until now I didn’t figure out how to work properly with the database. It might take a while on my own.
Perhaps someone can help me understand this topic faster. If you are willing to help, please contact me using the contact formular.
Hello, is there a way to change osirix user interface language by a plugin. How to do that? Thanks in advance.
If there’s a way, I don’t know it. As far as I know you can choose the language once at installation. It’s interesting to know that all languages are installed at: “/Application/OsiriX/Contents/Resources/English.lproj”, but I could not find the location where the language selection is stored. And therefore I don’t think you can change the language through a plugin the easy way. I will take a look at the OsiriX source code, but I can’t promise anything.
Thank you René, today I have talked to a company called aycan for their osirix pro, they are able to deliver osirix in a desired language which costs 35.000 euros 🙂 So we are now sure that there is a way to customize ui language, the question is “how”. Please write back to me if you find out something new. God bless.
If you install the Multilanguage version of OsiriX you can use software like this to change the application language before each start: “http://www.tj-hd.co.uk/en-gb/languageswitcher/”. I tried it shortly and it works like a charm. I don’t believe you can change the language at runtime, so making an OsiriX plugin would be pointless.
I have found a file “Localizable Strings” in directory /Application/OsiriX/Contents/Resources/English.lproj, in that file, text of each label, button etc is available. Editing the file does not work unfortunately. As far as I understand, language switcher software works around the existing languages of an application. I need osirix in Turkish language which is not defined in osirix.
OsiriX is open source, so everyone can make suggestions for improvments. If you are willing to make your translation available to everyone, I think you should ask the OsiriX developer team for help. “http://tech.groups.yahoo.com/group/osirix-dev/”. They know what to do and perhaps the next release comes with a turkish localization.
Thank you for your suggestions René.
Hi,
Congratulations on your blog! Thanks for sharing your work.
I’m trying to follow some of your steps in plugin development. I didn’t find a sitemap or something similar. I’m afraid I’m missing some old post… I think “Old Posts” does not include all of your work, right?
Thank you so much again.
Hey,
Thanks for the blog. Very helpful.
I see you have an unlinked post: “Create window which stays on top”
Any quick advice on how to do this?
Thanks a lot
I don’t have written the article yet, but I have the source code somewhere lying around. If you haven’t found out a way by now, I can send it to you by mail.
Hi, I worked it out thanks.
setLevel:NSFloatingWindowLevel is the required method.
Placing this in the awakeFromNib method is the trick that tripped me up.
Cheers