Afbeeldingen stapelen
Afbeelding-"stacks" zijn een handige metafoor om multidimensionale data te begrijpen. Elke hogere dimensie is een stapel van arrays met een lagere dimensie.
In deze oefening gebruiken we NumPy's functie stack() om meerdere 2D-arrays te combineren tot één 3D-volume. Volgens de conventie moeten volumetrische gegevens langs de eerste dimensie worden gestapeld: vol[plane, row, col].
Let op: zodra je bewerkingen uitvoert op een ImageIO-Image-object, wordt het omgezet naar een numpy.ndarray en gaat de metadata verloren.
Deze oefening maakt deel uit van de cursus
Biomedische beeldanalyse met Python
Oefeninstructies
- Importeer
imageioennumpy(alsnp). - Laad "chest-220.dcm", "chest-221.dcm" en "chest-222.dcm".
- Maak een 3D-volume met
np.stack(). Stel de stapel-axisin op 0. - Print het attribuut
shapevanvol.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# Import ImageIO and NumPy
import imageio.v2 as imageio
import ____ as ____
# Read in each 2D image
im1 = imageio.imread('chest-220.dcm')
im2 = ____
im3 = ____
# Stack images into a volume
vol = np.stack(____)
print('Volume dimensions:', ____)