Solved

How to merge many images to make a montage image without boundary edge?

Posted on 2004-03-29
8
712 Views
Last Modified: 2012-06-27
Hi, I have many medical images called proofsheet. A proofsheet includes 10 TIF image files.
I am looking for a way to merge all images together to make a sheet of large images as a map.
Problem is how to delete or make smooth for the image boundary and how to find the merge position.
Let's say there are many blood vessels on the images which can be used as a reference position.
How to find the all the fine positon before the merge and merge together without boundary condition.
Even thought 3rd party library, that will be wonderful to know.

Thanks,
Young
0
Comment
Question by:young_nacs
  • 5
  • 3
8 Comments
 
LVL 1

Expert Comment

by:fxnut
ID: 10712478
You should do a search on Google for "Image stitching". There are heaps of packages out there which will automatically stitch your images together.

If you want to write it yourself then it's not the easiest thing to do, but it makes it a lot easier if there isn't any rotation between pictures. All you have to do is a convolution between a border of one image with the image of another. Wherever you get the highest value from performing the convolution is where your image border is best fitted to the other image.

The best way to imagine what a convolution is, is by thinking of taking the overlapping areas of the images and multiplying each pixel from one image with the underlying pixel in the other image. The value of the convolution is the sum of these multiplied pixel values in the overlapping area. As you change the overlapping areas, the value of the convolution will change. Where it is a maximum, you have the best match between the two image areas. Note that as the overlapping area changes, so will the number of pixels that you have to perform the convolution on, and so to have a fair comparison between the different convolution values, you should divide each convolution value by the number of pixels that it was taken over. By doing this, you are effectively providing a normalization of the convolution values, and thus performing a fair comparison.

Alternatively (and this is what I'd do)... just use Photoshop :-)
0
 
LVL 1

Expert Comment

by:fxnut
ID: 10821205
Are you gonna close this question?
0
 

Author Comment

by:young_nacs
ID: 10921164
Still looking for it.
Such as photoshop's Blending image, looking for how to merge several images by layer overlapping so image looks like a one big image. It looks like 360 degree movie. I take a picture within certain angle only and add other picture which is taken by different angle and merge to look like one picture ( twice bigger picture).

Young
0
 
LVL 1

Expert Comment

by:fxnut
ID: 10922135
So what exactly are you after then? Are you after a step by step procedure on how to piece together and blend two or more images in Photoshop? Can you be explicit on what sort of answer you are looking for?

:-)

Andy
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

Author Comment

by:young_nacs
ID: 10971185
I am looking for SDK so I can customize this feature.
Such as photoshop SDK, If user supplises input images, this function will automatically generate a montage image based on finding auto align position and merge images as a one piece.

Young
0
 
LVL 1

Expert Comment

by:fxnut
ID: 10978269
Well, if you're after the Photoshop SDK, you can get it from here, although you have to undergo a registration process and it is subject to approval.

http://partners.adobe.com/asn/photoshop/index.jsp

But if you want a generic extendable API for processing images, then I think that this is exactly what you are looking for.

http://www.leadtools.com/

It should let you program the process I described above in my first post.

This part...

http://www.leadtools.com/SDK/Medical/Medical-Imaging.htm

Accepts formats generated by most medical equipment. I quote..

"DICOM 3 (2003 file specification), the industry standard medical imaging format/protocol is fully and completely supported, allowing programmers access to medical images retrieved from digital imaging modalities such as CT and MR scanners."

It also has an image processing module as well.

Andy
0
 

Author Comment

by:young_nacs
ID: 10995451
I am using LeadTool SDK but no function for mergeing two or many images to create a montage image.
My point is that:
a. read many images
b. search synchronize position of each image to overlay
c. overlay images with or w/o layer
d. and make images layers to flat so image looks like a big image.

Young
0
 
LVL 1

Accepted Solution

by:
fxnut earned 500 total points
ID: 10996613
Okay, well I'm not sure anyone can help then. I've told you how you can detect the matching portions of the image programatically in my first post, and I've also told you the SDK that you can do it with (even though you already knew). It does unfortunately need some work on your part, but in my opinion your original question has been answered.

If you need specifics or code on each of the (in my mind, mostly trivial) separate processes in achieving this end, then you should post them to new questions. As a friendly piece of advice, I think you should be more specific when you ask your questions.

I hope you find what you're after. :-)

Kind regards

Andy
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
dividesSelf challange 15 81
scoreUp challenge 14 48
sumHeights2  challenge 7 78
word0 challenge 3 58
I know it’s not a new topic to discuss and it has lots of online contents already available over the net. But Then I thought it would be useful to this site’s visitors and can have online repository on vim most commonly used commands. This post h…
This article will show, step by step, how to integrate R code into a R Sweave document
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now