Different deformation energy for image segments in non-rigid registration

Hi all,

I have a question regarding masking in non-rigid registration. So I have already done a rigid registration of two histological slices, that are now globally well-disposed (at the first glance). However, due to the level of detail and size of these histo images, local structures within the tissue are not as good aligned as the whole particle. When I run a non-rigid deformation for that purpose now, I face the problem that the tissue might deform excessively what leads to an information loss consequntly. Trying to penalize the deformation didn’t solve my problem completely.

So I was wondering if I could use a property of my spcific tissue for the registration. The image data are bone marrow slices with a lot of bone structures inside the tissue (see image; yellow area). Now my idea is to make a pre-segmentaion of the bone structures inside the particle and a second segmentation of the marrow inbetween. Then run a combined registration for both of these masked areas, allowing the bone structures to deform as much as they like while penalizing/keeping the deformation energy of the marrow small. In brief: I want to keep the local deformation of the marrow as less as possible but do all relevant transformations to get a satisfying registration result.

(The yellow area shows one of those typical bone structures that have no further significance for analysis. The marrow tissue right of it / inbetween should only be transformed as much as necessary.)

I hope that i have been able to clearify my concern and am looking forward to your suggestions and ideas.

Thanks in advance and best regards,

First idea is to set a mask to bone region only, and completely ignore the marrow. Or do that first and then do finer registration without a mask.

Hi Dzenan,

thanks for your reply. If i understood you correctly, the idea is simply setting a spatial mask for the metric right? I will give it a try these days.

Still, I would like to know if my idea is realizable with little or reasonable effort. Basically i dont want to use the masked areas for my similarity meassure, but use these areas to tell a regulizer how much deformation is permitted. For a start, a primitive regulizer in terms of a cost function would be enough. Can you imagine this is practicable?

The registration code is dispersed in a fairly large class hierarchy, making custom modifications to it is non-trivial. I don’t think that can be done quickly.


I have done something similar to your suggestion using ANTs (anrsRegistration), which is built on the itk registration framework. I add multiple metrics, e.g. Mutual information and mean square erron between the signed distance of the mask region (eg bone). This gives smooth error suitable for registration

1 Like