Weekly Post #10

Thursday this week I was in Sheffield at the 2016 Lovelace Colloquium - so I have only completed 13 story point (+ a few more for the final report work I did on the train).

Travel to and from and attend Lovelace Colloquium (Wed-Fri)
Fixed transposition error
Remove Medical Markers from scan
Continued writing Final Report
Continued to tweak Hybrid Entropy to try and get it right


Fixed transposition error

Rotated scans

Something I have been tackling for a while is the issue of when the scans were combined into a larger pgm file for Congealing, they would rotate.

It was always clear that at some point my row values and column values were being switched, however due to how neat and tidy MATLAB makes code (using vectorisation etc.) it was not clear where this was happening.

After some research, it became apparent that 'fwrite' - the MATLAB function for writing data out to a binary file - writes the array out column first, whereas logically all my arrays were to be written row first.

This led me to looking into how I could transpose the array I was passing into the fwrite function. Two options were available:

1) The first is a simple transpose function which works on a vector or matrix. Simply including .' after specifying the matrix/vector, would transpose it for you.

2) My next challenge was that some of the arrays were not 2D, and therefore it was not so simple as to flip the values. This is where the permute function came in, so I could switch the height and width values, whilst leaving the count of images in it's original position.

permute

In this example, I am taking the array s, and switching the 1st and 2nd components around.


Removing medical markers

I won't go too indepth here about the journey I took to remove the markers, as I have already covered it in this blog post.

What I will discuss is what I chose to finally implement. I took the technique I mentioned in the post-edit, rewrote it to the exact thing I needed, and implemented it in it's own GUI.

Remove markers

Some more work is still needed here, things like clear and undo buttons, however it does the job I need it to do for now.


Next Week

Next week I need to meet with Neil to run through the logic of Hybrid Entropy. I thought I had implemented it, however after some discussion and some tweaking things have changed once again.

  • Check hybrid entropy
  • Continue final report
  • Write up hybrid entropy report
  • Implement the 'Run all' function
  • Adjust the final saved mean image to include the metric name and iteration number - for usability's sake