Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

noise-reduction contrast-enhancement algorithm

197 views
Skip to first unread message

alvin

unread,
Apr 2, 2009, 5:47:24 AM4/2/09
to
Hello friends,

Could any one please tell me,
is there any Open Source Implementation of
noise-reduction contrast-enhancement algorithm for
medical images?

Thanks and Regards
Alvin

mathieu

unread,
Apr 2, 2009, 7:51:10 AM4/2/09
to

Hi Alvain,

In case you do not get any answer on this newsgroup, I'd suggest you
try on: sci.image.processing. Or itk.org mailing list ->
http://www.itk.org/ITK/help/mailing.html

Good luck

alvin

unread,
Apr 3, 2009, 12:41:27 AM4/3/09
to
Thanks mathieu ...
I will try there.

Bill Wallace

unread,
Apr 3, 2009, 9:21:18 AM4/3/09
to
On Apr 2, 5:47 am, alvin <alwit...@gmail.com> wrote:
I would be very careful with applying any noise reduction - depending
on the image type, this can remove critical details - if you look at
"noise", particularly in mammography, but also in brain scans etc,
that can be a calcification or other important feature that if you
remove would cause a cancer to be missed. If you look at Dr Koff's
lossy compresison research (presented at RSNA 07), you will notice
that lossy compression with JPEG improved the perceived image quality
for many image types, while at reasonable compression ratios, did not
reduce detection rates for various types of images. Thus, you might
consider lossy compression with JPEG as a possible option.

Thanks,
Bill.

alvin

unread,
Apr 4, 2009, 7:28:46 AM4/4/09
to
Dear friends,

My experience with image processing is very very less.

Here is a little background of the exact problem.
Please find two images from following link:
1. http://picasaweb.google.com/alwittta/CTImageTst#5320328480788049106
2. http://picasaweb.google.com/alwittta/CTImageTst#5320328486849287762

Both of these images are of one CT image and it is displayed in two
different Viewers(DicomScope and IPACS).
In second, the image quality is really good.
What I required is also this same quality as in the second image.

I am using win32 , StretchDIBits function to display the image in my
my C++ program.
Could any one please tell me what Image Processing should I apply to
make this image more better,

Thanks and Regards
Alvin

Bartosz Wiklak

unread,
Apr 4, 2009, 8:30:06 AM4/4/09
to
On 4 Kwi, 13:28, alvin <alwit...@gmail.com> wrote:
> Dear friends,
>
> My experience with image processing is very very less.
>
> Here is a little background of the exact problem.
> Please find two images from following link:
> 1.http://picasaweb.google.com/alwittta/CTImageTst#5320328480788049106
> 2.http://picasaweb.google.com/alwittta/CTImageTst#5320328486849287762

>
> Both of these images are of one CT image and it is displayed in two
> different Viewers(DicomScope and IPACS).
> In second, the image quality is really good.
> What I required is also this same quality as in the second image.
>
> I am using win32 , StretchDIBits function to display the image in my
> my C++ program.
> Could any one please tell me what Image Processing should I apply to
> make this image more better,
>
> Thanks and Regards
> Alvin

Hi alvin,

I also have problems with winapi StretchDIBits function, sometimes it
does not make good magnification results ( I don't understand it good
but very big magnification results look like no no interpolation was
done), and applying contrast to big mammo images and than decreasing
it's size using StretchDIBits takes long time.
I think it's much better to magnify raw pixel data and then create
bitmap.
I made my own code for downscaling and upscaling 8 and 16 bit data
using very helpful information from http://www.leptonica.com/local-sources.html.
Read articles and see the code, you will very easily adapt it to your
needs.

If you have any question I well be happy to help.

alvin

unread,
Apr 5, 2009, 11:00:45 PM4/5/09
to
Hello Bartosz,
Thanks for the information.

Could you please tell me, in your experience, which would be the best
Magnification algorithm in this source code?

Thanks and Regards
Alvin

Bartosz Wiklak

unread,
Apr 6, 2009, 3:02:53 AM4/6/09
to

Hi Alvin,

Magnification is simpler case - i would recommend general case
scaleGrayLILow, it works on 8bit data and uses linear interpolation.
The code uses macro GET_DATA_BYTE and SET_DATA_BYTE. I created
additional macros:

/*--------------------------------------------------*
* 16 bit access *
*--------------------------------------------------*/

#define GET_DATA_TWO_BYTES(pdata, n) \
(*((uint16_t *)(pdata) + (n)))


#define SET_DATA_TWO_BYTES(pdata, n, val) \
(*((uint16_t *)(pdata) + (n)) = (val))

It's very simple. What out, I'm using uint16_t instead of l_uint16 as
it would be in original code.

You shouldn't consider interpolations as faking or making medical
information disturbed. It can be easily shown in downscaling.
For downscaling I would recommend making low pass filtering before
downscaling. If you won't cutoff higher frequencies from the image,
you will get aliasing by the Nyquist theorem - it has nothing to do
with the result that you would get if you had magnify analog
(continuous) data.
You can query http://www.na-mic.org publications DB in this case, I
found several interesting articles there concerning image filtering.

English is not my native language and I believe I messed up something
really hard with grammar in some sentences above.)
If I'm hard to understand please don't hesitate to ask, I'll try to
express myself clearer.


Bartosz Wiklak

unread,
Apr 6, 2009, 4:44:17 AM4/6/09
to
> You can queryhttp://www.na-mic.orgpublications DB in this case, I

> found several interesting articles there concerning image filtering.
>
> English is not my native language and I believe I messed up something
> really hard with grammar in some sentences above.)
> If I'm hard to understand please don't hesitate to ask, I'll try to
> express myself clearer.

One more thing, don't forget about Pixel Representation
(0x0028,0x0103). 0001H = two’s complement (signed) integer.

Joerg Riesmeier

unread,
Apr 6, 2009, 5:33:25 AM4/6/09
to
> Both of these images are of one CT image and it is displayed in two
> different Viewers(DicomScope and IPACS).

Image scaling in DICOMscope is done in the JNI layer (using bi-linear
interplation, as far as I remember).

I guess this DCMTK discussion forum posting is also from you:
http://forum.dcmtk.org/viewtopic.php?t=2025

Btw, the current snapshot [1] of the DCMTK has two "new" image scaling
algorithms provided by Eduard Stanescu:

- magnification algorithm with bilinear interpolation
- magnification algorithm with bicubic interpolation

Regards,
Jörg Riesmeier

[1] http://www.dcmtk.org/dcmtk#snapshot

0 new messages