Introduction About Site Map

XML
RSS 2 Feed RSS 2 Feed
Navigation

Main Page | Blog Index

Archive for January, 2011

TechBytes Episode on Trusting One’s Government-funded GNU/Linux Distribution

TechBytes

Direct download as Ogg (1:29:28, 26.8 MB) | Direct download as MP3 (41.0 MB)

Summary: Tim, Gordon, and Roy talk about items of interest from the past few days’ news

LAST NIGHT’S show covered a broad range of subjects including some of the above. Corresponding articles will be linked in OpenBytes’ show notes.

RSS 64x64The show ends with “Casino Beach”, which is a track Tim selected. We hope you will join us for future shows and consider subscribing to the show via the RSS feed. You can also visit our archives for past shows. If you have an Identi.ca account, consider subscribing to TechBytes in order to keep up to date.

As embedded (HTML5):

Download:

Ogg Theora
(There is also an MP3 version)

Challenging Task: One-point Tracking Without Localised Vicinity

THE previous post about validation with rotation put focus on large regions outside the heart, where there was greater separation between landmark points. In this case, initially I tested a general case where 120 points were put around a circular area in and outside the heart, showing more or less what got detected as the expected translation at each frame. I look at only one point at a time here, on purpose — meaning that for each point only its neighbours in the next frame are being compared and there is room for improvement if the whole spacial patch (e.g. 3×3 window) gets used in the current frame. This simplification was intentional here.

Heart rotation contour only

(more…)

TechBytes Episode on the £98 GNU/Linux PC

TechBytes

Direct download as Ogg (2:09:30, 50.0 MB) | Direct download as MP3 (59.3 MB)

Summary: Tim and Roy talk about a 98-pound PC, Stuxnet, Android/ChromeOS, and copyright news

LAST NIGHT’S show started with some important GNU/Linux news from the UK and it then covered many different topics that are linked in OpenBytes’ show notes.

RSS 64x64The show ends not with the usual opening/closing theme but with Marti’s promotional track for TechBytes. We hope you will join us for future shows and consider subscribing to the show via the RSS feed. You can also visit our archives for past shows. If you have an Identi.ca account, consider subscribing to TechBytes in order to keep up to date. ?

As embedded (HTML5):

Download:

Ogg Theora
(There is also an MP3 version)

Informal QtOctave Demo

This Octave ramble is an experimental video where I try to present some elements of the program before preparing something more professionally put. In this part of a series I go just through some elements of QtOctave and show how it is used in practice. In the future I will prepare something much more polished that is planned in advance.


Rotation Tracking in Heart Images

AS a first validation step I am running these basic sanity checks which track anatomy where the correct correspondences are known. These animations show how a collection of points spread around the boundary of a circle (but not put precisely on the circle, on purpose) move along with the image merely by tracking the signal, without any knowledge of what other points are doing or what rigid/affine transformation the image itself is subjected to. Moreover, the interpolation process causes little issue at all and even though points can only move up/down/left/right (and diagonally), they do manage to move consistently.

With a new Gaussian kernel-based filter I’ve put in place fusion that makes use of image gradient (x+y derivatives) possible alongside with image signal. The binary images resulting from edge detection might be of some use, but scaling is tricky.

Heart - bottom right

Heart - middle animation

Heart rotation top placement

Octave or MATLAB Without GUI

CLI

WORKING with bare metal for the purpose of maximal hardware utilisation and performance is not the same as working with typical computer programs. Developing software for research is also different from software development for end users, where the software is treated as a product. Different scenarios require different methodologies and different levels of polish, and thus have different specifications and priorities. In research, brute force becomes essential to the success of one group or another.

I often find myself working on servers or clusters (only GNU/Linux), in which case it is useful to manage up to 50 computers, for example, remotely, at the same time. With full GUI sessions it can be a disorienting task, but that too can be achieved and I wrote about it roughly 6 years ago in this blog (back when I was a Ph.D. student).

Working from the command line at a desktop is perfectly acceptable if brains and not candy count, so platforms like Mac OS X are irrelevant. To do coding on the server I currently use vi as the editor in one terminal and the MATLAB session in another. On the desktop I would use QtOctave, as covered before (also in some screencasts). Unfortunate issues that had me revisit MATLAB (which in any case would be inevitable as means of ensuring compatibility with colleagues) led me back to the old days of developing over SSH (using KIO slaves and the likes of that). Quick access to the file can be gained using abbreviated wrappers such as:

./Main/Programs/Scripts/SSH/42
/opt/matlab/bin/matlab -nodesktop -nosplash -r "addpath(genpath('/home/S00/schestr0/'))"

where 42 is a script numbered after the machine number and the latter command initialises the command line. /home/S00/schestr0/ is using NFS and it can be reached from any computer at the department at the same time (multiple machines can write to the filesystem at the same time, too). If the files are edited locally, they can be passed across to the server using a simple command that transfers them in encrypted form.

scp /home/roy/Main/IT/Programs/get_dicom_heart/* -r
schestr0@eng041.cs.man.ac.uk:/home/S00/schestr0/get_dicom_heart/

Occasional local backups (usually nightly because it is resources-intensive over USB2) are achieved as follows:

mkdir /media/disk/Home/`date +%Y-%m-%d`

tar -cf - /home/roy|split -b 1000m - /media/disk/Home/`date +%Y-%m-%d`/Home-`date +%Y-%m-%d`.tar.

To decipher this, try:

man tar
man split

For example in:

tar -cf - /media/SEA_DISK/Home/|split -b 1000m - Baine-`date +%Y-%m-%d`

the backup is split into chunks of 1 gigabyte and the files are named by the date

To reassemble the above (resorting from backups):

cat *|tar -xf - 

No command line interface should be intimidating. Many powerful computer tasks are managed from it because the command line makes streamlining simpler and scripting jobs is a lot easier. My programs are written in a way that enables assigning many parameters like paths and wildcards, which lets the programs run for many hours and automatically produce output like images, videos, and text for inspection later. Research in computer vision or computer graphics requires heavy computation and for compelling experiments, the larger the sample sets, the more convincing the results. Use of computer resources therefore becomes the difference between failure and success and those who fail to master it can easily perish against the competition. Another valuable skill is knowing how to reuse code (legally of course) and this is where free/libre software orientation helps a lot. Publication in Open Access (OA) and availability of one’s own work — including code — can help gain more citations, which is the currency by which many publications are being judged.

1,500 Blog Posts

BACK IN 2004 I started this “Web Log” (yes, back when the term “blog” was somewhat of an unprofessional word, so I tried to avoid it). I posted at a pace of several posts per day for the next couple of years, but it slowed down when Techrights began to occupy more of my time (I’m approaching 15,000 posts over there). Anyway, the previous post was post #1500 and it is an important milestone now that I resume regular activity in this blog, which is one in about half a dozen that I run (most of them no longer active). In the coming days I will write more about the use of Free software in research and I shall also try to produce some technical screencasts if time permits.

Retrieval statistics: 18 queries taking a total of 0.659 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 —|