私はCTスキャン画像のスタックを持っています。Abaqus/Pythonスクリプトを使用して複数のExcelシートからXY座標を読み取る
I = imread('myCTscan.jpeg');
BW = im2bw(I);
[coords, labeledImg] = bwboundaries(BW, 4, 'holes');
sheet = 1;
for n=1:length(coords);
xlswrite('fig.xlsx',coords{n,1},sheet,'A1');
sheet = sheet+1;
end
次のステップは、座標のこのセットをインポートすることである(これらのスタックから1枚の画像)MATLABを用いたCTスキャン画像を処理した後、私は次のようにXYが異なるExcelシート内の各異なる境界領域の座標保存しました有限要素解析のためにAbaqus CAE Sketchにプロットします。 私は私のワークフローは、このようなものであることを把握:ワークブックのシートごとに
- インポートExcelワークブック
- :
2.1。各行について:xy座標を得るために列を両方読む(各行は2つの列x、y座標を持つ)
2.2。各xy座標をリストの中に入れる
2.3。リストから、ワークブック
内の他のシートのためのスプライン法
from abaqus import *
lines= open('fig.xlsx', 'r').readlines()
pointList= []
for line in lines:
pointList.append(eval('(%s)' %line.strip()))
s1= mdb.models['Model-1'].ConstrainedSketch(name='mySketch', sheetSize=500.0)
s1.Spline(points= pointList)
をしかし、これは唯一のXY座標から読み唯一のシートと私は上記のステップ3で立ち往生しています。したがって、私の問題は、Abaqus/Python(Abaqus 6.14、Python 2.7)スクリプトを使用して、さまざまなシートでこれらの座標を読み取る方法です。
私はPythonプログラミングには新しく、構文を読んで理解することはできますが、とてもうまく書けません(私はまだAbaqusでPythonモジュールをどのようにインポートするのか苦労しています)。手動でAbaqusのmodelAExample.pyチュートリアルのように各座標を入力すると、私のCTスキャン画像の境界領域が100 ++、ポイントが10k ++になるので、実際には不可能です。
私が使用している:
のWindows 7のx64
のAbaqus 6.14(Pythonの2.7が組み込まれて)
エクセル2013
あなたがコンマとしてExcelファイルを読み込むしようとしている画像処理ツールボックス