nnU-Net/preprocessing/cropping.py

조권휘·2024년 1월 18일

Code Notes

목록 보기
1/3
post-thumbnail

create_nonzero_mask(data)

  • image 크기로 zero vector를 생성
  • image에서 nonzero인 부분은 1로 masking

get_bbox_from_mask(mask, outside_value=0)

  • outside_value는 background value = 0이라고 하고, background가 아닌 을 mask_voxel_coords로 지정
  • z, x, y 축으로 인덱스를 저장하는 코드

crop_to_bbox(image, bbox)

  • get_bbox_from_mask로부터 구해진 인덱스를 이용하여 slice를 한 뒤 crop array를 반환

get_case_identifier(case) / get_case_identifier_from_npz(case)


load_case_from_list_of_files(data_files, seg_file=None)

  • data file, seg file을 불러와서 numpy array로 변환 후 형변환을 진행함

crop_to_nonzero(data, seg=None, nonzero_label=-1)

  • 2d가 아닌 전체 3d에 대해 crop을 해서 nonzero를 반환해줌

get_patient_identifiers_from_cropped_files(folder)

  • crop을 할 subject file의 identifier를 찾아 반환

ImageCropper class

  • crop을 해주기 위한 class
  • output_folder : crop image를 저장할 경로
  • num_threads : 사용할 threads 수

crop

  • data와 property를 인자로 전달하여 crop된 data를 반환

crop_from_list_of_files

  • crop()을 이용하여 list에 있는 data를 모두 crop

load_crop_save

  • crop된 file을 save

get_list_of_cropped_files

  • output folder의 crop image list를 반환

get_patient_identifiers_from_cropped_files

  • crop image list의 identifier 반환

run_cropping

  • output folder에 평가를 위한 ground truth를 저장

load_properties / save_properties

  • idendifier들의 properties를 load, save

출처
code : https://github.com/MIC-DKFZ/nnUNet
paper(image) : https://www.nature.com/articles/s41592-020-01008-z

profile
한양대학교 인공지능학과 대학원생 조권휘입니다.

0개의 댓글