Introduction About Site Map

XML
RSS 2 Feed RSS 2 Feed
Navigation

Main Page | Blog Index

Archive for November, 2010

DICOM Viewers for GNU/Linux

DICOM in Octave

DICOM in viewer

IT HAS been a while since I last did a comprehensive survey of DICOM-related software and since I am ditching MATLAB (in the quest for Free software-only research) I decided to review or at least check out what’s available at the end of 2010. Other people may find this handy.

DICOM is notorious for being the standard that’s not quite the standard and is actually somewhat proprietary and controlled by one entity. As someone pointed out the other day, DICOM is considered “extensible”, which implies that the usual type of format ‘bastardisation’ will always occur. It’s just an inconsistent data format as someone warned, so some software would cough at it and sometimes manage to salvage some data. According to Wikipedia, some tagging of the image/s is accompanied by data fields like:

Value Representation Description
AE Application Entity
AS Age String
AT Attribute Tag
CS Code String
DA Date
DS Decimal String
DT Date/Time
FL Floating Point Single (4 bytes)
FD Floating Point Double (8 bytes)
IS Integer String
LO Long String
LT Long Text
OB Other Byte
OF Other Float
OW Other Word
PN Person Name
SH Short String
SL Signed Long
SQ Sequence of Items
SS Signed Short
ST Short Text
TM Time
UI Unique Identifier
UL Unsigned Long
UN Unknown
US Unsigned Short
UT Unlimited Text

Let us say that we are more interested in the raw image data and not so much in the metadata. If that’s the case, batch conversion to a more manageable format is worthwhile. Here is the command-line converter that I use (some are for Windows only and they are proprietary) and some other options can be found on the Web through directories. There are also good software resources on scientific data formats and there is radiology CEU information regarding PACS and DICOM viewers. There is actually far more choice out there than there was a few years ago. For GNU/Linux and Free software proponents there is no lack or deficiency, either.

Octave Packages – The Free Software Candy Store

Octave packages

Octave packages - window

THIS POST is part of a series that I do about my incursions moving from MATLAB to Octave, which has so far been a pleasant experience. QtOctave looks better and is easier to install than MATLAB (on GNU/Linux with KDE at least). For those who experienced being a customer/user of MATLAB, it can really be a pain in the butt, licence-wise. The parent company, MathWorks, can be very aggressive when it comes to licensing (it pays the BSA after all), so people are kept tied to particular IP addresses and must renew something to remove artificial limitations. Moreover, the toolboxes that MATLAB sells separately are a case of artificial scarcity and they can be expensive. Octave resolves much of this by centralising a lot of software as shown in the screenshots above (also separating free/libre from proprietary). Rather than waste time with paperwork and bank transactions, any QtOctave user can simply and quickly click away to receive anything s/he desires. It’s truly like a candy store.

Why ever go through the trouble presented by MATLAB, Maple, Mathematica, or IDL? Some people may need these for collaboration and consistency (as in monoculture), but it is better to start without any proprietary software dependency.

I will report on more aspects of this comparison as I go along. At the moment I’m exploring the GPLv3-licensed BioSig project, which allows me to deal with DICOM datasets of the heart (images acquired just recently — ones that I picked up at the hospital yesterday). Speaking of which, I’ve learned that some scanning machines that traditionally used Windows are now moving to GNU/Linux. How exciting times are coming…

MATLAB vs QtOctave First Impressions: QtOctave Looks Better

MATLAB vs QtOctave

ON A KDE (Qt) desktop like mine, despite MATLAB putting a lot of effort into improving the GUI on the GNU/Linux side* (even adding a Microsoft Windows-esque “Start” button at the bottom left), QtOctave integrates more nicely with the desktop. Thanks to all those who suggested some other tools including R, Sage, Scilab, QtOctave, graphviz and so on as I make my way into the world of Free software-only research (valuable pointers in the comments too).

All the code I’ve ever produced is Free software, but whenever I worked with MATLAB only the underlying framework was proprietary. This created a sort of trap, wherein my free/libre code depended on code which was not. In the near future I hope to produce code, blog items, upload of all code I write (including code sample for explanatory purposes), screecasts, etc. I may even commit code upstream if it’s polished enough for general-purpose use. I will continue to share dents and images on a regular basis too. In the mean time, for comparative purposes, I will also use my academic licence of MATLAB. I was once ranked first in the world for my code contributions to MATLAB, but although my code was all free software it helped MATLAB (BSA sponsor and thus a contributor to an attack on the software industry) just sell more copies of proprietary software. I am not a disgruntled prominent user of MALTAB but someone who is trying to show the way out of MATLAB mostly for idealogical reasons. If everything works as I hope, I will soon be 100% free of proprietary software.
___
* It was far, far uglier a few years back.

Moving From MATLAB to Octave

Octave sombrero

I feel as though I must apologise for hasty remarks that I made in yesterday’s audiocast when we discussed GNU Octave (so I posted an update). I was basing my assessment on a very old experience and my understanding, as I found it out today, is that more and more MALTAB users consider moving to Octave due to the increasing cost of MATLAB. Another person whose background is in Mathematica taught me some more about the state of Octave. To quote from IRC:

*Quadrescence (~Quad@unaffiliated/quadrescence) has joined #boycottnovell-social Nov 01 22:25
FurnaceBoy Quadrescence: wb // schestowitz look who’s here Nov 01 22:26
Quadrescence hi Nov 01 22:26
schestowitz Hey Nov 01 22:28
schestowitz I was contacted by octave dev Nov 01 22:28
schestowitz Did you use it? Nov 01 22:28
schestowitz I just need to be able to deal with DICOM in it Nov 01 22:28
schestowitz Problem is, octave might not have good 3d visualisation tools Nov 01 22:28
Quadrescence I am pretty sure Octave just uses gnuplot Nov 01 22:29
schestowitz sjvn: “@sjvn it’s the pet peeve of mine I told you about before. Some colleagues like Gralla and pro-Windows showing up and reducing signal for me.” Nov 01 22:29
schestowitz Quadrescence: yeah Nov 01 22:29
schestowitz which is rather primitive compared to binary junk Nov 01 22:30
schestowitz So I need to use the junk Nov 01 22:30
Quadrescence schestowitz: What do you mean? Nov 01 22:30
schestowitz “@sjvn it’s the pet peeve of mine I told you about before. Some colleagues like Gralla and pro-Windows showing up and reducing signal for me.” Nov 01 22:30
schestowitz I think it’s not true. He still boosts Windows (gralla) Nov 01 22:31
schestowitz “@schestowitz thanks anyway. I already knew about octave-bioinfo, but it’s functionality is quite limited…” Nov 01 22:31
schestowitz Quadrescence: re mathematica Nov 01 22:31
schestowitz You though of leaving it? Nov 01 22:31
schestowitz maple and matlab are similar Nov 01 22:31
Quadrescence schestowitz: Sorry, I don’t know what you mean Nov 01 22:33
Quadrescence schestowitz: Are you saying gnuplot is primitive compared to mathematica/maple/matlab? Nov 01 22:34
schestowitz for plotting I think it’s lacking in comparison Nov 01 22:35
schestowitz The octave guy admitted it Nov 01 22:35
schestowitz I work with images a lot Nov 01 22:35
schestowitz for just plain stats I could use octave Nov 01 22:35
Quadrescence Actually I’d say gnuplot is rather phenomenal. Nov 01 22:35
FurnaceBoy pics or gtfo Nov 01 22:36
Quadrescence An alternative to gnuplot would be to use Sage: http://i.imgur.com/71Hr3.png Nov 01 22:36
TechrightsBot-sc Title: Not a web page! Aborting image/png type .::. Size~: 0 KB Nov 01 22:36
Quadrescence P and Q are plots. To plot them together, just do P+Q Nov 01 22:36
Quadrescence :) Nov 01 22:36
schestowitz Nice Nov 01 22:36
schestowitz Maybe it has improved Nov 01 22:36
Quadrescence I don’t think that is gnuplot tho Nov 01 22:36
Quadrescence In fact, I know it isn’t Nov 01 22:36
MinceR gnupowder plot Nov 01 22:37
schestowitz gnuspamassassin plot Nov 01 22:37
Quadrescence gnuplot is still great: http://gnuplot.sourceforge.net/demo_svg/singulr.html Nov 01 22:38
TechrightsBot-sc Title: gnuplot demo script: singulr.dem  .::. Size~: 8.92 KB Nov 01 22:38
Quadrescence http://gnuplot.sourceforge.net/demo_svg/contours.html Nov 01 22:39
TechrightsBot-sc Title: gnuplot demo script: contours.dem  .::. Size~: 10.67 KB Nov 01 22:39
Quadrescence stuff in general: http://gnuplot.sourceforge.net/demo_svg/ Nov 01 22:39
TechrightsBot-sc Title: Demo scripts for SVG terminal in gnuplot version 4.4 .::. Size~: 5.63 KB Nov 01 22:39
Quadrescence opacity: http://gnuplot.sourceforge.net/demo/transparent_solids.2.png Nov 01 22:40
TechrightsBot-sc Title: Not a web page! Aborting image/png type .::. Size~: 0 KB Nov 01 22:40
Quadrescence Anyway, the best thing about gnuplot is that it’s incredibly fast/lightweight. Nov 01 22:41
Quadrescence Mathematica has a tendency of blowing 2GB of RAM just to get a decent surface plot Nov 01 22:41
Quadrescence MathGL is an incredible open source library for making absolutely spectacular plots: http://mathgl.sourceforge.net/pictures.html Nov 01 22:42
TechrightsBot-sc Title: MathGL – pictures .::. Size~: 4.34 KB Nov 01 22:42
Quadrescence *and* you can use it with Octave Nov 01 22:43
FurnaceBoy Quadrescence: that is impressive (the svg stuff) Nov 01 22:53
*FurnaceBoy lieks svg Nov 01 22:53
schestowitz abeNd-org: syntax compatible? Nov 01 22:56
schestowitz Quadrescence ^^ Nov 01 22:56
schestowitz Could I attempt to run old matlab programs with gnuplot and octave? Nov 01 22:57
schestowitz FurnaceBoy: <SFT have VML Nov 01 22:57
schestowitz SVG scares them cause it ain’t THEIRS. Nov 01 22:57
schestowitz *MSFT I meant Nov 01 22:57
FurnaceBoy schestowitz: fine , let it scare them Nov 01 22:58
Quadrescence schestowitz: it is mostly compatible Nov 01 22:59
*Ender2070 (~Ender2070@CPE00222d6e3608-CM00222d6e3605.cpe.net.cable.rogers.com) has joined #boycottnovell-social Nov 01 23:04
schestowitz FurnaceBoy: they ‘joined’ this year Nov 01 23:04
schestowitz Only to keep pushing VML Nov 01 23:04
schestowitz They need to intervene in the competition too Nov 01 23:04
schestowitz To bend it Nov 01 23:05
schestowitz See MSODF for example Nov 01 23:05
FurnaceBoy bend -> break. Nov 01 23:05
schestowitz Microsoft fragmented ODF Nov 01 23:05
FurnaceBoy hehe Nov 01 23:05
FurnaceBoy tried w/ java Nov 01 23:05
FurnaceBoy + html Nov 01 23:05
schestowitz got sued Nov 01 23:05
schestowitz They try again now Nov 01 23:05
schestowitz AZune [sic] cloud Nov 01 23:05
FurnaceBoy yes, they only have one trick Nov 01 23:05
schestowitz Inviting Java dvs Nov 01 23:05
schestowitz *devs Nov 01 23:05

It turns out that my employer may also allow me to move from MALTAB to Octave, thus using only Free software in my research. In fact, I’m installing Octave at this very moment.

Brandon Lozza Special at TechBytes Episode 1

TechBytes

Direct download as Ogg (1:31:18, 30 MB) | Direct download as MP3 (41 MB)

Summary: Brandon Lozza joins Tim and Roy for the first episode of TechBytes, which covers Fedora and many other subjects

TIM and I open the first show with a few words about Apple’s lawsuit against Motorola (over Android) because reports suggest that Apple — not Motorola — started it with provocation, just like in Nokia’s case. We then speak about what those cases of patent aggression (also from Microsoft) mean to ordinary gadget buyers who are hardly aware of such issues. Tim and I also discuss the choices which are made available to people and what limits the range of one’s choice.

Brandon LozzaA second segment of our show is dedicated to the Fedora project. Brandon Lozza, a Fedora Ambassador, spoke to us about the Tuesday release of Fedora 14 and we also chatted about Canonical’s Unity, which offers interface substitution for GNOME Shell (developed largely with support from Red Hat). Brandon has a Web site and an Identi.ca account where you can follow him.

A future show with Wayne Borean is expected but not yet scheduled. Wayne is quite an expert in copyrights (as a recording professional) and active participant in the debate about copyright law in Canada. He can also speak to us about Microsoft and Windows, which he has been tracking for decades and regularly writes about in his Web site.

RSS 64x64You can follow TechBytes through Identi.ca and subscribe to the show via RSS feeds.

Thanks to all those who gave feedback on [cref 41234 the pilot], which got over a thousand downloads (so far). If you enjoy the show, please consider recommending it to others.

As embedded (HTML5):

Download:

Ogg Theora
(There is also an MP3 version)

Retrieval statistics: 18 queries taking a total of 0.163 seconds • Please report low bandwidth using the feedback form
Original styles created by Ian Main (all acknowledgements) • PHP scripts and styles later modified by Roy Schestowitz • Help yourself to a GPL'd copy
|— Proudly powered by W o r d P r e s s — based on a heavily-hacked version 1.2.1 (Mingus) installation —|