dwkim78 / ASTRiDE

AUTOMATED STREAK DETECTION FOR ASTRONOMICAL IMAGES
MIT License
49 stars 23 forks source link

How to divide two intersected long streaks? #7

Closed patwangx closed 6 years ago

patwangx commented 6 years ago

ASTRiDE is very useful and powerful. Clear streaks can be extracted correctly.

One issue I met in practice is : if two long streaks are intersected like a cross, the found edge will be around both streaks just like a cross.

Is there any way to divide them and output as two streaks?

dwkim78 commented 6 years ago

Hi, thanks for using ASTRiDE. Unfortunately, ASTRiDE does not support line-splitting. If you find a way to do that, please let me know. I would consider to implement it to ASTRiDE too :)

Cheers,

patwangx commented 6 years ago

Aha, I'll thinking of that problem.

I have another request. Will you please expose the parameter fully_connected to the class streak in order to control the behaviour of find_contour. Just like:

class Streak:
     def __init__(self, filename, remove_bkg='constant', bkg_box_size=50,
                  contour_threshold=3., min_points=10, shape_cut=0.2,
                  area_cut=10., radius_dev_cut=0.5, connectivity_angle=3.,
                  output_path=None,fully_connected='high'):
...
 self._fully_connected=fully_connected

...

def _detect_streaks(self):

        contours = measure.find_contours(
          self.image, self._std * self.contour_threshold, fully_connected=self._fully_connected
                                         )

I found it will be very useful for the faint long streaks.

dwkim78 commented 6 years ago

The code is modified as suggested.