我使用从地震立方体中读取所有样本
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;
}
}
代码正在编译和运行,但它没有意义,似乎所有的样本都混乱了。任何帮助