微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

循环中有两个函数,但仅执行一个匿名化DICOM文件+移动它们

如何解决循环中有两个函数,但仅执行一个匿名化DICOM文件+移动它们

所以我对我编写的包含两个功能的脚本有疑问。 想法是使给定文件夹中的所有DICOM文件(CT文件的数据格式)匿名化,然后将匿名文件移动到新文件夹中。

问题是-匿名化功能本身起作用,该功能也将所有文件一个文件夹移动到另一个文件夹。不幸的是,我无法使两个函数都在一个循环中工作。

用于匿名化DICOM文件功能

folder = r"C:.../test1"
target = r"C:.../test2"

def forceAnonymizeDICOMFile(inFile,outFile,dictionary = ''):
currentAnonymizationActions = initializeActions()

    del currentAnonymizationActions[(0x0010,0x0020)]       
    del currentAnonymizationActions[(0x0010,0x0040)]       
    if dictionary != '':
    currentAnonymizationActions.update(dictionary)

    dataset = pydicom.dcmread(inFile,force=True)
    
    dataset[(0x0010,0x0010)].value = dataset[(0x0010,0x0020)].value 
 
    # Store modified image
    dataset.save_as(outFile)

移动功能

def moving(folder,file,target):
    for file in files:
        shutil.move(os.path.join(folder,file),target)

连接两者的环路:

subfolders = os.listdir(folder)

for idx,subfolder in enumerate(subfolders,1):
    print(f"{idx}/{len(subfolders)} ({subfolder})")
    for file in os.listdir(folder+"/"+subfolder):
        filepath = folder+"/"+subfolder+"/"+file
        forceAnonymizeDICOMFile(filepath,filepath)
        moving(folder,target)

我感觉到我的循环中有错误,因为我得到了错误

FileNotFoundError:[错误2]没有这样的文件或目录:'C:../ test1'

我不认为错误在于这两个函数,因为它们都可以独立运行。

任何帮助将不胜感激,谢谢!

解决方法

我实际上可以解决它。 问题是我没有在目标文件夹中指定文件夹结构:

$(document).ready(function () {
  $('body').on('click','.table tbody tr',function () {
    window.location.href = 'redirect-link-here';
  });
});

现在它可以正常工作了。 谢谢@Timus的输入!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。