У меня есть том, который хранится как фрагменты в памяти C#. Срезки могут не быть последовательными в памяти. Я хочу импортировать эти данные и создать объект vtkImageData.vtkImageData от сторонней структуры
Первый способ, который я нашел, - использовать vtkImageImporter, но этот импортер принимает только один указатель на пустоту как ввод данных. Поскольку мои фрагменты не могут быть последовательными в памяти, я не могу передать один указатель на мои данные среза.
Второй вариант - создать vtkImageData с нуля и использовать vtkImageData-> GetScalarPointer() для получения указателя на его данные. Затем заполните это с помощью цикла. Это довольно дорого (хотя memcpy может ускорить процесс бит) .Я мог бы также комбинировать подход копирования с vtkImageImport ofcourse.
Являются ли эти мои единственные варианты, или есть лучший способ получить данные в объект vtk? Я хочу быть уверенным, что нет другого варианта перед тем, как я возьму подход к копированию (производительность тяжелая) или изменим хранение на высоком уровне моих срезов, чтобы они стали последовательными в памяти.
@Basting: Используете ли вы управляемую память или используете C++? –
@ElMarce Я могу использовать C++, если нужно. – bastijn