now the _remove_particles method is complete
added an average filter so that it is now equivalent to the matlab code it's based on.
This commit is contained in:
parent
1fd2fc4281
commit
d973c0e1cd
|
@ -61,6 +61,13 @@ class IImageEngine(ABC):
|
|||
:rtype IImage:
|
||||
"""
|
||||
|
||||
@abc.abstractmethod
|
||||
def mean_filter(self, image, radius):
|
||||
"""Each pixel becomes an average of its neighbours within the given radius
|
||||
|
||||
:param IImage image:
|
||||
:param int radius: in pixels
|
||||
"""
|
||||
|
||||
@abc.abstractmethod
|
||||
def perform_gray_morphology(self, image, operator, structuring_element_shape, structuring_element_radius):
|
||||
|
|
|
@ -144,6 +144,10 @@ class IJImageEngine(IImageEngine):
|
|||
print('max_image', max_image)
|
||||
return IJImage(self, max_image)
|
||||
|
||||
def mean_filter(self, image, radius):
|
||||
"""Implement interface method."""
|
||||
IJ.run(image.ij_image, "Mean...", "radius=%d" % radius)
|
||||
|
||||
def perform_gray_morphology(self, image, operator, structuring_element_shape, structuring_element_radius):
|
||||
"""
|
||||
:param IJImage image:
|
||||
|
@ -154,8 +158,8 @@ class IJImageEngine(IImageEngine):
|
|||
# we use opencv version because imagej's slow version is way too slow for big values of structuring_element_radius
|
||||
perform_gray_morphology_with_ijopencv(image, operator, structuring_element_shape, structuring_element_radius)
|
||||
|
||||
|
||||
def replace_border(self, image, band_width):
|
||||
"""Implement interface method."""
|
||||
raise NotImplementedError()
|
||||
return image
|
||||
|
||||
|
|
|
@ -20,6 +20,9 @@ class WhiteEstimator(object):
|
|||
IImageEngine.get_instance().perform_gray_morphology(white_estimate, operator='open', structuring_element_shape='square', structuring_element_radius=(self.open_size + 1) / 2)
|
||||
IImageEngine.get_instance().perform_gray_morphology(white_estimate, operator='close', structuring_element_shape='square', structuring_element_radius=(self.close_size + 1) / 2)
|
||||
|
||||
IImageEngine.get_instance().mean_filter(white_estimate, radius=(self.average_size + 1) / 2)
|
||||
|
||||
|
||||
def estimate_white(self, sequences, channel_ids, dark=None):
|
||||
"""Estimation of the white fluorescence image shape of synchrotron light from experimental images of Telemos microscope.
|
||||
|
||||
|
|
Loading…
Reference in New Issue