0

プログラムSlicerで定義された基準ノードのR、A、S(x、y、z)座標をPythonコードにインポートしようとしています。

3D Slicer 4.4.0 を使用して、点を視覚的に配置することで、R、A、S 座標 (x、y、z 座標) で定義される空間に多数の基準ノードを作成しました。座標を入力せず、配置したい場所をポイントしてクリックしただけです。その後、ノード配置データを保存し、Slicer はそのデータを FCSV ファイルに保存しました。そのデータを再びスライサーに読み込むことができ、テキスト エディターを使用して FCSV ファイルを開くことでデータを読み取ることもできます。テキスト エディタでは、ノード データは次の形式でリストされます (ノード データの各行の 2 番目、3 番目、および 4 番目のエントリは x、y、z 座標です)。

# Markups fiducial file version = 4.4
# CoordinateSystem = 0
# columns = 
id,x,y,z,ow,ox,oy,oz,vis,sel,lock,label,desc,associatedNodeID
vtkMRMLMarkupsFiducialNode_1,-48.0839,17.9915,59.9101,0,0,0,1,1,1,0,F-2,,vtkMRMLScalarVolumeNode2
vtkMRMLMarkupsFiducialNode_2,-46.5946,-4.34737,59.9101,0,0,0,1,1,1,0,F-3,,vtkMRMLScalarVolumeNode2
vtkMRMLMarkupsFiducialNode_3,-48.5803,-24.2042,59.9101,0,0,0,1,1,1,0,F-4,,vtkMRMLScalarVolumeNode2
vtkMRMLMarkupsFiducialNode_4,-47.0911,-44.061,59.9101,0,0,0,1,1,1,0,F-5,,vtkMRMLScalarVolumeNode2

...そして、さらにポイントが続きます。

データの座標を(pythonスクリプトから)pythonに、できればx、y、またはz座標を含む3つの個別の配列に、またはを含む1つの3xNまたはNx3配列にインポートする方法が必要です各ポイントの x、y、z データ。ポイントの順番は気にしません。

以下のコードを使用して FCSV ファイルを取得しようとしました。

os.chdir('C:\Users\Me\Desktop\Code_folder')
InputFile = open('C:\Users\Me\Desktop\Code_folder\f.fcsv','r')
lines = InputFile.readlines()
InputFile.close()

...しかし、次のようなエラーが返されました。

runfile('C:/Users/Me/Documents/Python Scripts/load_fiducials_test.py', wdir='C:/Users/Me/Documents/Python Scripts') File "C:/Users/Me/Documents/Python Scripts/load_fiducials_test.py", line 126 InputFile = open('C:\Users\Me\Desktop\Code_folder\f.fcsv','r') ^ SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

Python で配列として使用するために、以前の試行を変更するか、別の方法を試すことによって、これらのデータ ポイントを取得するにはどうすればよいでしょうか?

4

0 に答える 0