예제 #1
0
def get_raw_liver_image(raw: sitk.Image, liver: sitk.Image) -> sitk.Image:
    size = raw.GetSize()
    output = sitk.Image(size, sitk.sitkUInt8)
    output.CopyInformation(raw)
    for i in range(0, size[0]):
        for j in range(0, size[1]):
            if liver.GetPixel(i, j) == 1:
                output.SetPixel(i, j, raw.GetPixel(i, j))
    return output
예제 #2
0
def padding(label: sitk.Image, pred_image_name: str) -> sitk.Image:
    size = label.GetSize()
    img = sitk.ReadImage(pred_image_name, sitk.sitkUInt8)
    assert isinstance(img, sitk.Image)
    assert size == img.GetSize()
    ret = sitk.Image(size, sitk.sitkUInt8)
    ret.CopyInformation(img)

    minn = 100.0
    for i in range(0, size[0]):
        for j in range(0, size[1]):
            minn = min(minn, label.GetPixel(i, j))

    for i in range(0, size[0]):
        for j in range(0, size[1]):
            if label.GetPixel(i, j) != minn \
              or img.GetPixel(i, j) == 255: # lesion
                ret.SetPixel(i, j, 255)
            elif img.GetPixel(i, j) == 128:
                ret.SetPixel(i, j, 128)

    return ret