Friday, December 24th, 2010, 7:46 am

Winter of Code

T HAS been a week or so since I last made a research-related post, so here is a quick update. I am currently coding some bits that can detect and measure rotation in the heart, including tangential/centrifugal components. The goal is to calculate the twist and also the scale changes separately, giving a figure indicative of each. The notions found in flow/vortex mathematics ought to enable this to be calculated from a set (or matrix) of points, each of which being a vector of directions around a central point. To quote Wikipedia on vortex: “A vortex (plural: vortices) is a spinning, often turbulent, flow of fluid. Any spiral motion with closed streamlines is vortex flow. The motion of the fluid swirling rapidly around a center is called a vortex. The speed and rate of rotation of the fluid in a free (irrotational) vortex are greatest at the center, and decrease progressively with distance from the center, whereas the speed of a forced (rotational) vortex is zero at the center and increases proportional to the distance from the center. Both types of vortices exhibit a pressure minimum at the center, though the pressure minimum in a free vortex is much lower.”

My implementation of this is simplistic as it merely uses an accumulator whose value increases for each point that moves in a given direction (e.g. for each clockwise arrow) and decreases for the opposite.

An issue we face here is that circular motion in the heart walls is far from trivial to see. A careful look at image sequences taken with about 20 frames for each cycle and each slice does not quite expose a ‘squeeze’ of the heart, not unless there is tagging of the image which also enables reconstruction of a higher quality. So, to calculate rotation of the sides based on just intensity is rather hard, unless there is something in the signal that can be detected. Generally, looking at the tracking typically carried out, there is hardly a tendency to pick up any traces of tangential motion and where it does exist it is not consistent. Assuming a direction is known and then estimated with a probabilistic model, there is room for improvement, maybe even a significant change in contrast. Different slices show different directions for the twist and it requires a look inside the heart too, in order to visually compare intensities and assume a rotation of some sort. I will post some images soon to illustrate this.

Additional code was completed to calculate and plot the centre of the points around the heart, based on the fitting of a circle to all the surrounding points (best match). At the end of each tracking sequence a plot if shown to give a statistical analysis of how points move around the walls and whether they move in and out throughout the cardiac cycle. The goal here is to, based on several cycle, find out if and how the algorithm can detect wall motion and quantify it. There is clearly a correlation to be found here.

Today’s addition (it’s a holiday, so lots of spare time for coding and also to read literature) will soon be uploaded along with more material, all of which will be shared not just for the sake of transparency. I’ll post results shortly.

As a side note, I’ve begun looking into the possibility of writing a book about Novell and another possibility I’m looking into is initiating a startup around the code I’ve been writing since 2003 to achieve something nobody achieved before, even with free/libre software (the whole stack). I’m currently doing cardiac analysis but still considering a situation where come back to a more CS-oriented work, at least when the existing contract is over. There are many projects on my mind and choosing just the best one/s is not easy. Then again, it’s good to have possibilities and I’m still in my twenties, so there is no pressure.

Comments may include corrections, additions, citations, expressions of consent or even disagreements. They should preferably remain on topic.

Moderation: All genuine comments will be added. If your comment does not appear immediately (a rarity), it awaits moderation as it contained a sensitive word or a URI.

Comments format: Line and paragraph breaks are automatic, E-mail address never displayed, HTML allowed: `<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> `