본문 바로가기

전체 글176

python 매직메서드 (__repr__, __str__, __slots__) 객체표현: __repr__, __str__ 차이파이썬에서 객체의 설명을 보려면, `repr()`, `str()`함수가 필요합니다. 이 두 함수는  `__repr__`와 `__str__`이 정의되어야 확인할 수 있습니다.  이 두 함수의 차이점은 아래와 같습니다.공통점두 함수 모두 반환되는 형태가 `str` 입니다.차이점`repr`, `__repr__`은 주로 개발자을 위해 사용되며, 내부 디버깅을 위해 사용되는 표현방식입니다. 주로 `obj`을 직접 호출할 때 사용되고, 문자열 그 자체로 객체가 생성되도록 작성을 합니다.`str`, `__str__`은 주로 사용자를 위해 사용되며, 보기쉬운 형태로 전환하거나 타입 캐스팅을 하는 용도로 사용됩니다. 또한, `__str__`이 정의되어있지 않다면, `__re.. 2024. 6. 3.
Openslide level 과 Deepzoom level의 차이 사전지식Openslide-python은 파이썬 바인딩된 openslide의 패키지입니다. 여기서는 일반적인 WSI(whole slide Image)의 이미지 피라미드 구조로 다운 샘플링하여 처리함Deepzoom은 Deepzoom은 OpenSlide와 함께 사용되는 강력한 도구로, 대형 이미지를 다양한 줌 레벨에서 효율적으로 탐색할 수 있게 해줍니다. 이는 특히 WSI와 같은 고해상도 이미지에 유용 요약Openslide의 level 0가 가장 초해상도 이미지 (mpp)Deepzoom의 level max가 가장 초고해상도 이미지 (mpp).  Deepzoom level과 openslide level의 매핑Deepzoom level_count와 openslide.Openslide.level_count의 숫자가.. 2024. 6. 1.
[5분 컷 리뷰] Prov-GigaPath : A whole-slide foundation model for digitalpathology from real-world data Microsoft에서 발표한 Foundation 모델인 Prov-GigaPath입니다. 26개의 테스크에서 25개가 SOTA로 outperform을 주장했던 논문입니다. 자세한 개발방법은 아래와 같습니다.Data collectionslides: H&E stained, and IHC(immunohistochemistry) 171,189 slides백그라운드 제외: Tissue sementation. 자세히는 Otsu 알고리즘을으로 저해상도에서 진행해서 전경을 뽑은 후에 배율에 맞춰 사용함(HIPT에서도 활용)해상도 조정: 0.5mpp (20x)에 맞춰 진행 (URL)**Tiling: 256 x 256 픽셀로 타일링 (2번에 오츄알고리즘으로 배경이 10% 이상인 경우만 활용) * 기타: 200node (32.. 2024. 5. 28.
[5분 컷 리뷰] PULTO (PathAI) 학습 방법: 자기지도학습 방법, 데이터 1. 데이터 소스다양한 염색, 스캐너, 생물학적 오브젝트의 데이터셋을 구성했습니다. 공공데이터 뿐만아니라, 따로(Private)모은 데이터셋을 포함해서 총 158,852 Slide이미지를 구했습니다. 이 약 16만장의 이미지를 4개 종류의 Resolution으로 1억 9천만장의 패치를 얻었습니다. 장기 수: 50개 이상질환 그룹: 28종류 이상스캐너: 11종류배율: 20x, 40x 각조직 영역 검출(Tissue regions): ArtifactDetection라는 PathAI의 Fore/Background 이미지를 분리하는 로직을 넣었습니다. 전경만 뽑았구요. 외부로 공개되지 않았지만 오츄알고리즘 보다, 다양한 상황(스캐너/염색) 등에서 더 좋은 성능을 보인다고합니다.타일링(Tiling): 40x (0... 2024. 5. 27.
[5분 컷 리뷰] DINO v2: Learning Robust Visual Features without Supervision 요약iBOT(masked image modeling)과 DINO(knowledge distillation with no label)방법을 혼합한 방법 Transactions on Machine Learning Research (01/2024) Data processing: LVD-142M dataset의 생성과정많은 양의 데이터 학습을 위해, 데이터 처리방식을 1) 라벨, 비라벨 이미지 수집, 2) 중복이미지 제거, 3) 이미지 검색데이터 수집: 데이터 수집은 라벨링된 데이터와 라벨링 안된 데이터 크게 2가지의 데이터셋을 구축했습니다. 라벨링 된 데이터는 classifcation, segmentation, depth estimation 등의 다양한 문제에 사용되는 공공데이터를 수집했습니다. 다른 한편으로.. 2024. 5. 24.
structure-preserving color normalization (vahadane method) 정리 matrix factorization 하면 되는거 아님?기존 방법론에는 SVD, BCD 등의 방법론이 있습니다.SVD 의 문제점: 벡터의 방향을 고유벡터의 5%, 95%값 사이의 있는 벡터를 고름에따라서 이미지 간의 컬러분포(inter-image variation)에 좀 강건하다고는 합니다. 하지만, 전문가가 타깃이미지를 따로 정해주는것대비 별로 성능이 좋지 않다고합니다. 그리고, 고유벡터들이 음의값을 가지거나, 희소성을 보장하지 못하는 경우가 있어서 사용하긴 어렵습니다. 희소성을 가져야하는 이유는 염색이 된 밀도가 각각의 픽셀에서 균등하게 흩어져있으면, 물체(조직)의 구분이 뚜렷하지 않기에 희소성을 갖도록합니다. + 음의 값이 나오면 해석이 어렵습니다. stain density값이 (-)의면 빛이 발산.. 2024. 5. 21.