を使用して地震キューブからすべてのサンプルを読み取りました
int NumI = InputSCube.NumSamplesIJK.I;
int NumJ = InputSCube.NumSamplesIJK.J;
int NumK = InputSCube.NumSamplesIJK.K;
double[, ,] InputSeismicCubeData = new double[NumI, NumJ, NumK];
for (int i = 0; i < NumI; i++)
{
for (int j = 0; j < NumJ; j++)
{
ITrace Trace = InputSCube.GetTrace(i, j);
for (int k = 0; k < NumK; k++)
{
InputSeismicCubeData[i, j, k] = Trace[k];
}
}
}
いくつかのアルゴリズムを適用した後、InputSeismicCubeData と同じサイズの 3D 配列でもある出力地震データを生成しました
そして、データを次のようにキューブに書き込みます
using (ITransaction trans1 = DataManager.NewTransaction())
{
SeismicCollection Sc = InputSCube.SeismicCollection;
trans1.Lock(Sc);
if (Sc.CanCreateSeismicCube(InputSCube))
{
SeismicCube NewCube = Sc.CreateSeismicCube(InputSCube, InputSCube.Template);
if (!NewCube.IsWritable)
{
PetrelLogger.ErrorBox("Unable to Write to the Cloned Cube");
return;
}
for (int i = 0; i < NumI; i++)
{
for (int j = 0; j < NumJ; j++)
{
ITrace trace = NewCube.GetTrace(i, j);
for (int k = 0; k < trace.Length; k++)
{
trace[k] = (float)OutPutSeismicCubeData[i, j, k];
}
}
}
trans1.Commit();
arguments.OutputSCube = NewCube;
}
}
コードはコンパイルして実行していますが、意味がありません。すべてのサンプルがごちゃ混ぜになっているようです。任意のヘルプ Appricated