아시안은 서양인에 비해 breast density가 높아 기본적으로 mammogram에서 흰 부분 잘 보임
즉, 전처리의 효용이 상대적으로 적음 + 잘못하면 오히려 너무 하얗게(?) 보일 수 있음 -> 전처리 강도 적절히 잘 조정해야 함
CLAHE 많이 사용한다고 함
histogram 상 픽셀 값이 특정 부분에 몰려있으면 contrast가 낮음 -> 이걸 균일하게 만들자는 개념


dst = cv2.equalizeHist(src, dst)
src: 대상 이미지, 8비트 1 채널
dst(optional): 결과 이미지
But, 어두운 영역과 밝은 영역이 둘 다 많은 경우 equalization을 적용했을 때 이미지가 너무 밝아져 boundary가 날라간다는 한계 있음
-> 이러한 HE의 한계를 극복하기 위해 나온게 CLAHE
이미지를 겹치는 tiles로 나누고, 타일 내에서 각각 HE를 수행
(tile size default : 8*8 )

contrast threshold [clipLimit parameter] 두기
(clipLimit default : 0.4)
: tile 내 극단적으로 어둡거나 밝은 영역 있으면 노이즈 생길 수 있기 때문
-> 아래 사진처럼 clipLimit param 넘는 픽셀들은 다른 영역에 균일하게 배분 (cv2.createCLAHE가 알아서 해주는 것 같음)


clahe = cv2.createCLAHE(clipLimit, tileGridSize)
# clipLimit: 대비(Contrast) 제한 경계 값, default=40.0
# tileGridSize: 영역 크기, default=8 x 8
# clahe: 생성된 CLAHE 객체
clahe.apply(src): CLAHE 적용
# src: 입력 이미지



+) 시그마 클 수록 blurring 강해짐
+) sharpening 하고 싶으면 src - blur 하면 sharpened img 나옴

+) 미분하기 전에 Gaussian blur 사용해 noise 제거
-> 노이즈 제거 안 하고 미분하면 local minima/maxima 너무 많이 나옴

아래가 gaussian filter 적용 후
출처
https://hanstar4.tistory.com/34 (HE)
https://bkshin.tistory.com/entry/OpenCV-10-%ED%9E%88%EC%8A%A4%ED%86%A0%EA%B7%B8%EB%9E%A8 (HE & CLAHE)
https://m.blog.naver.com/samsjang/220543360864 (CLAHE)
https://deep-learning-study.tistory.com/144 (Gaussian)
https://m2nja201.github.io/computervision/opencv/gaussian-filter/ (Gaussian)
https://velog.io/@zzwon1212/OpenCV-%EB%AF%B8%EB%B6%84%EC%9D%98-%EC%9D%98%EB%AF%B8%EC%99%80-Laplacian-%ED%95%84%ED%84%B0-%EA%B5%AC%ED%98%84 (Laplacian)