10
$\begingroup$

Can anyone suggest methods for removing the noise (indicated inside the red square) from every where in the following image, while keeping the white lines?

A segmented Medical Image

$\endgroup$

migrated from stackoverflow.com Jun 29 '12 at 11:43

This question came from our site for professional and enthusiast programmers.

  • 5
    $\begingroup$ Is this an image of the retina? In that case, instead of hacking up a quick and dirty solution with a sobel filter (or equivalent) and attempting to "remove noise", I suggest you start by reading some of the abundant literature on the topic. These problems have been solved over and over again, and it will probably save you a lot of time to read about what has worked in the past. Then you can start innovating for real :) $\endgroup$ – static_rtti Jun 29 '12 at 8:13
  • $\begingroup$ fair point, however a few links provided might have been even better. no doubt there's google, still. $\endgroup$ – AruniRC Jun 29 '12 at 8:21
  • 1
    $\begingroup$ Even better, google scholar. I'm not knowledgeable enough about this precise point to give better links than google, sorry :-/ $\endgroup$ – static_rtti Jun 29 '12 at 10:02
  • 1
    $\begingroup$ @crack_addict: what have you tried so far? $\endgroup$ – Amro Jun 29 '12 at 10:58
  • 1
    $\begingroup$ It would also be nice to know what will the output of this process be used for (to know how good the cleaning of the noise with leaving of the white lines should be) $\endgroup$ – penelope Jun 29 '12 at 12:07
3
$\begingroup$

One solution I have found is as follows:

  1. Thresholded on grayscale value.
  2. Remove objects on the basis of size.
  3. Some more morphological operations.

enter image description here

$\endgroup$
  • $\begingroup$ Could you give a little more detail on step 3, i.e. what morphological operations did you find helpful ? $\endgroup$ – Paul R Jul 2 '12 at 17:44
  • $\begingroup$ I would like to explain my answer well: firstly I could not remove objects on the basis of size as you can see objects are a bit connected, so I thresholded on the basis of gray level first which separated the small objects well in the 3rd step I dilated to make useful objects continues, then I used edge thinning to get thin lines $\endgroup$ – crack_addict Jul 5 '12 at 3:04
3
$\begingroup$

Can you get multiple images, i.e. is the target static? If so then you could 'stack' the images to remove the noise. A simple mean or median function will remove the random noise from the image stack and leave you with just the signal (i.e. the white lines).

$\endgroup$
1
$\begingroup$

It seems from the initial area based filtering that results might not be satisfactory since it removes components which are linear but not so large in area. Looking at the structure of the foreground to be extracted, we can see that they are long thing structures. One could consider using linear structuring elements. But here the image consists of various angles and branchings. I suggest reading the following paper which presents the path opening which is demonstarted of area photos of road networks.

$\endgroup$
0
$\begingroup$

It looks like that the "noise" is a texture/pattern. Maybe you'll have a try on removing that pattern, so you can go on in your processing pipeline. In my opinion, morphological operations and edge detection won't work so well (have no proof, just a first impression on that scenario, because of too similiar looking of noise and features/wanted information). If I got time at the weekend, I'd give it a shot with some texture removal methods and keep you informed.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.