MCPcopy Create free account
hub / github.com/MITK/MITK / AsNumpyAccessor

Function AsNumpyAccessor

Wrapping/Python/mitk/Image.cpp:175–198  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

173}
174
175py::array AsNumpyAccessor(Image& img, bool writeable)
176{
177 auto holder = std::make_unique<ImageAccessorHolder>();
178
179 {
180 py::gil_scoped_release release;
181
182 if (writeable)
183 holder->write = std::make_unique<ImageWriteAccessor>(&img);
184 else
185 holder->read = std::make_unique<ImageReadAccessor>(&img);
186 }
187
188 const void* data = writeable
189 ? holder->GetMutableData()
190 : holder->GetData();
191
192 if (data == nullptr)
193 mitkThrow() << "Could not access image data";
194
195 auto capsule = py::capsule(holder.release(), "mitk.ImageAccessor", &DeleteImageAccessorCapsule);
196
197 return BuildNumpyArray(img, data, writeable, std::move(capsule));
198}
199
200// ---------------------------------------------------------------------------
201// from_numpy (WP-2)

Callers 1

InitImageFunction · 0.85

Calls 3

BuildNumpyArrayFunction · 0.85
GetMutableDataMethod · 0.80
GetDataMethod · 0.45

Tested by

no test coverage detected