def batch_mkcomp(tardir, outputmasterdir, mask=None): format = "%(asctime)s: %(message)s" logging.basicConfig(format=format, level=logging.INFO, datefmt="%H:%M:%S") logging.info('Thread--{}--started'.format(os.path.basename(tardir))) tarwk = re.search(r"week (\d)", tardir) refdir = tardir.replace("week 4", "week 0", -1) tartitle = os.path.basename(tardir) logging.info('Thread--{}--mkdir'.format(os.path.basename(tardir))) comptitle = tartitle[:-11] + ' w{}w{}composite'.format(0, tarwk.group(1)) outdir = os.path.join(outputmasterdir, comptitle) if os.path.exists(outdir): shutil.rmtree(outdir) os.mkdir(outdir) refimg = imreadseq(refdir, sitkimg=False, rmbckgrd=75, z_range=(-300, None)) tarimg = imreadseq(tardir, sitkimg=False, rmbckgrd=75, z_range=(-300, None)) composite = mkcomposite(refimg, tarimg, mask=mask) imsaveseq(composite, outdir, comptitle, sitkimages=False) logging.info('Thread finished for ' + comptitle)
reftitle = file.replace('week 3', 'week 0') + ' registered' ref_img = imreadseq_multithread(os.path.join(refdir, reftitle)) tar_img = imreadseq_multithread(os.path.join(masterdir, file), sitkimg=False, rmbckgrd=60, z_range=[0, 840]) tar_img = sitk.GetImageFromArray( auto_crop(Rotate_by_Euler_angles(tar_img))) ini_transform = cent_transform(ref_img, tar_img) metric_values = [] multires_iterations = [] suboutput = os.path.join(masteroutput, imgtitle + " registered") if not os.path.exists(suboutput): os.mkdir(suboutput) logging.info('Registration of {} is in process...'.format(imgtitle)) try: tar_reg, tar_reg_transform = reg_transform(ref_img, tar_img, ini_transform, imgtitle, suboutput) imsaveseq(tar_reg, suboutput, imgtitle + '_Reg') logging.info('Registration of {} is finished...'.format(imgtitle)) except RuntimeError as ex: logging.info('Registration of {} failed...'.format(imgtitle)) print(ex) pass logging.info("Done !")
import SimpleITK as sitk from shubow_tools import imreadseq_multithread, imsaveseq import os import re import shutil wkdir = r"/home/blue/SITK_registered_image_14um/3rd batch tibia" dst = r"/home/blue/SITK_registered_image_14um/Flipped" os.chdir(wkdir) with open("failed.txt", "r") as f: retry_file = f.readlines() retry_list = [i[:-1] for i in retry_file] for fd in retry_list: if not 'right' in fd: continue print(fd) output = os.path.join(dst, fd) if os.path.exists(output): shutil.rmtree(output) os.mkdir(output) image = imreadseq_multithread(os.path.join(wkdir, fd)) image = image[::-1, :, :] imsaveseq(image, os.path.join(dst, fd), fd) print('Next!')