This is the problem that I have: I have an image as shown below. I want to find a circular area, which I marked with a red line to display here (this is a special bright ring).

Initially this is what I am doing now: (MATLAB)
binaryImage = imdilate(binaryImage,strel('disk',5));
binaryImage = imfill(binaryImage, 'holes'); % Fill holes.
binaryImage = bwareaopen(binaryImage, 20000); % Remove small blobs.
binaryImage = imerode(binaryImage,strel('disk',300));
out = binaryImage;
img_display = immultiply(binaryImage,rgb2gray(J1));
figure, imshow(img_display);

The output, apparently, is cut out on one of the parts of the object (for another image as an input, and not for the one shown above). I want the result to be such that it is symmetrical (its not always an ideal circle when it rotates).
I want to strictly avoid im2bw, because as soon as I binarize, I lose a lot of form information.
This is what I was thinking:
( ) (). , , 50% ( , ). , . ?
,