Archive for June 2011

How to view an MRI using ArchLinux

In my previous post I mentioned a knee injury and that I would like to be able to view my own MRI images on my desktop. After some googling and experimentation, I have done it.

To start off with, I’m going to mention that the images provided to me were in the DICOM format. It also appears there is a windows executable on the cd, possibly for viewing the images natively, but I didn’t check into that much so your mileage may vary if you choose that route. I managed to find a hardware¬†accelerated¬†OpenGL MRI viewer, however, it reads images in the NIfTI image format, so I had to convert. I used a program called dcm2nii to convert everything. It features a command line interface, as well as a GUI, I personally used the GUI with no issues.

After the conversion, I found myself with about 15 different images of varying resolution, angle and depth. Not being a doctor, I really had no idea what to look for in terms of diagnosing the injury. That really wasn’t my goal though. My goal was simply to see the inside of my knee, finding the injury myself would be a plus. On that hand, I think I may have found the spot on the meniscus that was torn, just bragging points if I got it right I suppose. Either way, it was still very cool to have a 3D image of my knee which I could freely move around, rotate or pull individual frames from. I highly recommend looking at your own MRIs if you have any. Just for the coolness factor of looking inside your own body.

The website which acted as a portal to all the MRI information I needed is on Chris Rorden’s web page. There are links to all of the software I mentioned as well as additional software and image format information. None of the programs I used are in the Arch Repositories or AUR, so I may package them at some point if there is a demand.

Chris Rorden’s Home

On the hunt for some MRI visualization software

In a very unfortunate turn of events two nights ago, I managed to tear my meniscus (bucket-handle on the lateral). After meeting with my orthopedic, he recommended an MRI to get a better idea of whether or not I will require surgery to repair it, I’ll be going in for that later on tonight. I also understand that the imaging center will give me a CD containing the images for me to bring to the doctor. I fully intend on at least viewing the images myself as opposed to the two weeks until my follow-up appointment.

Now I’m on the search for some way to visualize this data on my computer. I really have no knowledge on actual MRI data formats, so that will be my research project for today. What I would like to know, is there any great MRI visualization software for Arch? How can I view these images on my computer as a 3D model as opposed to the 2D slices I see sometimes?

A quick introduction to PDNSD

A few months ago, back while getting ArchLinux set up on my main system, I stumbled across a very nice piece of software. It is a DNS server proxy which will cache it’s results for near instant DNS lookups after the first. The software I am speaking of is pdnsd. The arch wiki has a very detailed guide to installing and configuring the software, a link is provided at the bottom.

After using this software for some time, I can say it seems to make my internet access a little snappier. Of course actual download speeds aren’t effected, but once a site is in the DNS cache I can sometimes get almost a quarter of a second quicker on the DNS lookup. It just makes the internet feel a little more responsive and leaves me overall feeling pleased with it’s performance.

One thing I do have to mention. I use network manager to access my wireless network and I had pdnsd set up properly for a while, but network manager was setup to use whatever dhcp provided. The issue wasn’t totally apparent at first, but all remaining bits of lag in Firefox seemed to disappear after I changed that setting.

Is there anyone else who regularly uses pdnsd, or another dns cache system? I’ve tried a few others without satisfactory results as with pdnsd so any feedback would be interesting to hear.

pdnsd homepage
Arch wiki – pdnsd

Thoughts on BFS

The CPU governor is a piece of software in the kernel which splits up your processors speed into time-based slices and then distributes these slices to the processes running on your system. In reality things are much more complicated than that, but an in-depth knowledge of their function is not required.

The BFS, or Brain Fuck Scheduler, is an alternative to the CPU governor included by the linux kernel by default. It is currently available as a set of patches to the linux kernel, or possibly as a pre-compiled kernel for your architecture/distribution. I haven’t had much luck installing the kernel packages. My first issue was with getting the proper packages installed, which took slightly longer than it should have due to a simple type that took me all day to catch. The next issue I ran into was with upgrades, it just didn’t seem to work properly. I kept running into circular dependencies and version mismatches and such. The main packages giving me issues would have been ‘nvidia-ck-k8′ and the VirtualBox ck-k8 kernel modules.

For the week or so that everything worked though, it was wonderful. BFS seemed to virtually eliminate lag. I was finally able to go tab-crazy in firefox, play minecraft and run a folding@home client without any noticeable lag. BFS does its job very, very well right out of the box. I felt no need to tweak anything at all.

In the end it was continued issues with the nvidia driver upgrades that caused me to go back to the stock kernel packages and thus the stock CPU governor. The difference is hardly noticeable as long as I keep the folding@home client closed and keep the number of tabs down in firefox.

I’ll probably be trying out the packages again in another week or two, just to see how things are coming along. I’d really enjoy using this cpu governor as my default. You probably will too, go give it a try!

Download patches & other files
BFS Introduction
Kernel26-ck Howto (Includes BFS)