コード例 #1
0
def main(args):
    testing = [
        '001', '017', '020', '022', '043', '082', '094', '115', '120', '137',
        '173', '174', '205'
    ]
    testing = [
        '019', '023', '054', '093', '096', '123', '127', '136', '141', '153',
        '188', '191', '201'
    ]
    #testing = ['173', '002', '068', '133', '155', '114', '090', '105', '112', '175', '183', '208', '029', '065', '157', '162', '141', '062', '031', '156', '189', '135', '020', '077', '000', '009', '198', '036']
    testing = [
        '001', '017', '020', '022', '043', '082', '094', '115', '120', '137',
        '173', '174', '205', '019', '023', '054', '093', '096', '123', '127',
        '136', '141', '153', '188', '191', '201'
    ]

    wholeDICE = []
    kidneyDICE = []
    cancerDICE = []
    for x in tqdm(testing, desc="Caluculating DICE...", ncols=60):

        trueLabel = os.path.expanduser(
            args.trueLabel) + '/case_00' + x + '/segmentation.nii.gz'
        resultLabel = os.path.expanduser(
            args.resultLabel) + '/case_00' + x + '/label.mha'

        true = sitk.ReadImage(trueLabel)
        result = sitk.ReadImage(resultLabel)

        trueArray = sitk.GetArrayFromImage(true)
        resultArray = sitk.GetArrayFromImage(result)

        wholeDICE.append(DICE(trueArray, resultArray))

        trueKid = np.where(trueArray == 1, 1, 0)
        trueCan = np.where(trueArray == 2, 2, 0)

        resultKid = np.where(resultArray == 1, 1, 0)
        resultCan = np.where(resultArray == 2, 2, 0)

        kidneyDICE.append(DICE(trueKid, resultKid))
        cancerDICE.append(DICE(trueCan, resultCan))
        print('case_00' + x)
        print("Average whole: {}  ".format(DICE(trueArray, resultArray)))
        print("Average kidney: {}  ".format(DICE(trueKid, resultKid)))
        print("Average cancer: {}  ".format(DICE(trueCan, resultCan)))

    print("Average whole: {}  ".format(caluculateAVG(wholeDICE)))
    print("Average kidney: {}  ".format(caluculateAVG(kidneyDICE)))
    print("Average cancer: {}  ".format(caluculateAVG(cancerDICE)))
    print()
コード例 #2
0
def main(args):
    testing = [
        '019', '023', '054', '093', '096', '123', '127', '136', '141', '153',
        '188', '191', '201'
    ]
    #    testing = ['173', '002', '068', '133', '155', '114', '090', '105', '112', '175', '183', '208', '029', '065', '157', '162', '141', '062', '031', '156', '189', '135', '020', '077', '000', '009', '198', '036']

    wholeDICE = []
    kidneyDICE = []
    cancerDICE = []
    for x in testing:

        trueLabelLeft = os.path.expanduser(
            args.trueLabel) + '/case_00' + x + '/label_left.nii.gz'
        resultLabelLeft = os.path.expanduser(
            args.resultLabel) + '/case_00' + x + '/segmentation_left.mha'
        trueLabelRight = os.path.expanduser(
            args.trueLabel) + '/case_00' + x + '/label_right.nii.gz'
        resultLabelRight = os.path.expanduser(
            args.resultLabel) + '/case_00' + x + '/segmentation_right.mha'

        trueLeft = sitk.ReadImage(trueLabelLeft)
        resultLeft = sitk.ReadImage(resultLabelLeft)
        trueRight = sitk.ReadImage(trueLabelRight)
        resultRight = sitk.ReadImage(resultLabelRight)

        trueArrayLeft = sitk.GetArrayFromImage(trueLeft)
        resultArrayLeft = sitk.GetArrayFromImage(resultLeft)
        trueArrayRight = sitk.GetArrayFromImage(trueRight)
        resultArrayRight = sitk.GetArrayFromImage(resultRight)

        whole = DICEVersion2(trueArrayLeft, resultArrayLeft, trueArrayRight,
                             resultArrayRight)
        wholeDICE.append(whole)

        trueKidLeft = np.where(trueArrayLeft == 1, 1, 0)
        trueCanLeft = np.where(trueArrayLeft == 2, 2, 0)
        trueKidRight = np.where(trueArrayRight == 1, 1, 0)
        trueCanRight = np.where(trueArrayRight == 2, 2, 0)

        resultKidLeft = np.where(resultArrayLeft == 1, 1, 0)
        resultCanLeft = np.where(resultArrayLeft == 2, 2, 0)
        resultKidRight = np.where(resultArrayRight == 1, 1, 0)
        resultCanRight = np.where(resultArrayRight == 2, 2, 0)

        # if (trueCanLeft != 2).all() and (resultCanLeft != 2).all():
        #     cancer =

        kidney = DICEVersion2(trueKidLeft, resultKidLeft, trueKidRight,
                              resultKidRight)
        cancer = DICEVersion2(trueCanLeft, resultCanLeft, trueCanRight,
                              resultCanRight)
        kidneyDICE.append(kidney)
        cancerDICE.append(cancer)

        print('case_00' + x)
        print("Average whole: {}  ".format(whole))
        print("Average kidney: {}  ".format(kidney))
        print("Average cancer: {}  ".format(cancer))

    print("Average whole: {}  ".format(caluculateAVG(wholeDICE)))
    print("Average kidney: {}  ".format(caluculateAVG(kidneyDICE)))
    print("Average cancer: {}  ".format(caluculateAVG(cancerDICE)))
    print()
コード例 #3
0
def main(args):
    testing = [
        '019', '023', '054', '093', '096', '123', '127', '136', '141', '153',
        '188', '191', '201'
    ]

    wholeDICE = []
    kidneyDICE = []
    cancerDICE = []
    for x in testing:

        trueLabelLeft = os.path.expanduser(
            args.trueLabel) + '/case_00' + x + '/label_left.nii.gz'
        resultLabelLeft = os.path.expanduser(
            args.resultLabel) + '/case_00' + x + '/segmentation_left.mha'
        trueLabelRight = os.path.expanduser(
            args.trueLabel) + '/case_00' + x + '/label_right.nii.gz'
        resultLabelRight = os.path.expanduser(
            args.resultLabel) + '/case_00' + x + '/segmentation_right.mha'

        trueLeft = sitk.ReadImage(trueLabelLeft)
        resultLeft = sitk.ReadImage(resultLabelLeft)
        trueRight = sitk.ReadImage(trueLabelRight)
        resultRight = sitk.ReadImage(resultLabelRight)

        trueArrayLeft = sitk.GetArrayFromImage(trueLeft)
        resultArrayLeft = sitk.GetArrayFromImage(resultLeft)
        trueArrayRight = sitk.GetArrayFromImage(trueRight)
        resultArrayRight = sitk.GetArrayFromImage(resultRight)

        wholeLeft = DICE(trueArrayLeft, resultArrayLeft)
        wholeRight = DICE(trueArrayRight, resultArrayRight)
        wholeDICE.append(wholeLeft)
        wholeDICE.append(wholeRight)

        trueKidLeft = np.where(trueArrayLeft == 1, 1, 0)
        trueCanLeft = np.where(trueArrayLeft == 2, 2, 0)
        trueKidRight = np.where(trueArrayRight == 1, 1, 0)
        trueCanRight = np.where(trueArrayRight == 2, 2, 0)

        resultKidLeft = np.where(resultArrayLeft == 1, 1, 0)
        resultCanLeft = np.where(resultArrayLeft == 2, 2, 0)
        resultKidRight = np.where(resultArrayRight == 1, 1, 0)
        resultCanRight = np.where(resultArrayRight == 2, 2, 0)

        kidneyLeft = DICE(trueKidLeft, resultKidLeft)
        kidneyRight = DICE(trueKidRight, resultKidRight)
        cancerLeft = DICE(trueCanLeft, resultCanLeft)
        cancerRight = DICE(trueCanRight, resultCanRight)
        kidneyDICE.append(kidneyLeft)
        kidneyDICE.append(kidneyRight)
        cancerDICE.append(cancerLeft)
        cancerDICE.append(cancerRight)

        print('case_00' + x)
        print("Average whole: {} {} ".format(wholeLeft, wholeRight))
        print("Average kidney: {} {} ".format(kidneyLeft, kidneyRight))
        print("Average cancer: {} {} ".format(cancerLeft, cancerRight))

    print("Average whole: {}  ".format(caluculateAVG(wholeDICE)))
    print("Average kidney: {}  ".format(caluculateAVG(kidneyDICE)))
    print("Average cancer: {}  ".format(caluculateAVG(cancerDICE)))
    print()