2016-10-05 4 views
0

SimpleITK 0.10.0を使用してDCMファイル内のタグを更新するコードを実行するとPython 3(https://itk.org/SimpleITKDoxygen010/html/Python_2DicomModifyTags_8py-example.html)コードは説明どおりに動作しています。Python 3とSimpleITK 0.10.0でFlaskを併用すると、AttributeErrorが発生します。タイプオブジェクト 'object'に属性 '__getattr__'がありません

私はAPIを作成するために、コード内でフラスココンポーネントを導入した瞬間は、私が手

はAttributeError:型オブジェクト「オブジェクト」には属性「__getattr__」

エラーを持っていません。私はPythonのコーディングでの初心者です

[2016-10-05 14:47:05,816] ERROR in app: Exception on /fuse [GET] 
Traceback (most recent call last): 
    File "c:\python27\lib\site-packages\flask\app.py", line 1988, in wsgi_app 
    response = self.full_dispatch_request() 
    File "c:\python27\lib\site-packages\flask\app.py", line 1641, in full_dispatch_request 
    rv = self.handle_user_exception(e) 
    File "c:\python27\lib\site-packages\flask\app.py", line 1544, in handle_user_exception 
    reraise(exc_type, exc_value, tb) 
    File "c:\python27\lib\site-packages\flask\app.py", line 1639, in full_dispatch_request 
    rv = self.dispatch_request() 
    File "c:\python27\lib\site-packages\flask\app.py", line 1625, in dispatch_request 
    return self.view_functions[rule.endpoint](**req.view_args) 
    File "E:\ITK_EXP_10\exp2.py", line 24, in fuse 
    keyable(mean_image, image, key) 
    File "E:\ITK_EXP_10\exp2.py", line 12, in keyable 
    mean_image.SetMetaData(key, image.GetMetaData(key)) 
    File "c:\python27\lib\site-packages\SimpleITK\SimpleITK.py", line 3579, in <lambda> 
    __getattr__ = lambda self, name: _swig_getattr(self, Image, name) 
    File "c:\python27\lib\site-packages\SimpleITK\SimpleITK.py", line 74, in _swig_getattr 
    return _swig_getattr_nondynamic(self, class_type, name, 0) 
    File "c:\python27\lib\site-packages\SimpleITK\SimpleITK.py", line 69, in _swig_getattr_nondynamic 
    return object.__getattr__(self, name) 
AttributeError: type object 'object' has no attribute '__getattr__' 
127.0.0.1 - - [05/Oct/2016 14:47:05] "GET /fuse HTTP/1.1" 500 - 
127.0.0.1 - - [05/Oct/2016 14:47:05] "GET /favicon.ico HTTP/1.1" 404 - 

を下回っている

from __future__ import print_function 
import SimpleITK 
from flask import Flask 
import time 

app = Flask(__name__) 


@app.route('/fuse') 
def fuse(): 
    image = SimpleITK.ReadImage("CT/IMG-0002-000001.dcm") 

    mean_image = SimpleITK.BoxMean(image, [3,3,1]) 

    all_keys = image.GetMetaDataKeys() 
    for key in all_keys: 
     mean_image.SetMetaData(key, image.GetMetaData(key)) 
    mean_image.SetMetaData("0008|0008", "DERIVED\SECONDARY") 
    modification_time = time.strftime("%H%M%S") 
    modification_date = time.strftime("%Y%m%d") 
    mean_image.SetMetaData("0008|0031", modification_time) 
    mean_image.SetMetaData("0008|0021", modification_date) 

    print(mean_image.GetMetaData("0008|0031")) 
    return "finish" 

エラー私は取得しています以下のように私が使用しているコードは、実際にいくつかのいずれかが、私は修正する助けてくださいすることができ、自分自身のコーディングに初心者であり、この問題を解決するために問題を理解するのに役立ちますか?事前

答えて

0

おかげで問題はpycharmと端末で実行しているのpythonの異なるバージョンでした。ターミナルは2.7、pycharmは3.5だった。 libは3.5で更新されました。混乱のために申し訳ありません。

関連する問題