For a first approach, let's discuss this using the MorphologicalTransform only.
Morphological transformations are common operators on image processing, specially in the field of binary images (black or white). The grayscale/color expansion works in the same basis: define a kernel or structuring element, which tells the algorithm the neighbourhood of pixels that will be included; and of course, we define a morphological operation (maximum, minimum, dilation, etc.), and perform the calculations.
So, what happens if we use a minimum filter, with a square 5x5 kernel? (just an example) For every pixel, it looks for the minimum value surrounding it, in the 5x5 box centered at that each particular pixel. At the end, pixels are replaced with that value. If there is a mask, it acts at the end, "merging" with the original image.
From this behavior, it is completely natural (and expected) that stars are dimmed. The only way to avoid this is to create a goos mask, that protects the inner core of them. Also, it does help a bit using other operator, such as median or any percentile lower then 0.5 and greater than 0. If the star's edges aren't soft, these operator will still reduce the star size (and make it softer) but without changing too much the central peak.
Now, the problem sometimes is with the shape, the kernel or structuring element. I prefer to keep it as small as possible, and if needed, perform several iterations. This will produce softer results, and edges will preserve better the shape. 3x3 cross, or 3x3 square work fine. Also, it is a good idea to create a two ways element, with both the cross and box, one at each side. This will average the particular results, and then, preserving better whose circular shapes.
To summarize: Small kernels, with 2 (or more ways, if needed), several iterations, and play with the percentile. Also, refine the mask, to protect the cores.
Other alternatives:
- DefectMap: Basically, this process implements morphological transformations and convolutions, where the main difference is that the defect map image tells the algorithm which pixels are going to be replaced, and performs the calculations with the surviving pixels. For small star resizing tasks, this may work fine. A suitable "defect map" may be created from the gradient of the image.
- Deconvolutions: If properly used, stars will be reduced and their peaks increased. With a good mask, you can use it to affect only the outer regions of the stars.
- Curves: Decrease the L curve... using a mask, or course.