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()
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()
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()