introduc on to imglib2
play

Introduc)on to ImgLib2 Stephan Preibisch, Tobias Pietzsch, - PowerPoint PPT Presentation

Introduc)on to ImgLib2 Stephan Preibisch, Tobias Pietzsch, Stephan Saalfeld Albert Einstein College of Medicine, New York MPI-CBG, Dresden, Germany HHMI


  1. Introduc)on ¡to ¡ImgLib2 ¡ Stephan ¡Preibisch, ¡Tobias ¡Pietzsch, ¡Stephan ¡Saalfeld ¡ ¡ Albert ¡Einstein ¡College ¡of ¡Medicine, ¡New ¡York ¡ MPI-­‑CBG, ¡Dresden, ¡Germany ¡ HHMI ¡Janelia ¡Farm ¡Research ¡Campus, ¡Virginia ¡

  2. Special ¡thanks ¡to ¡… ¡ • ImageJ2 ¡crew ¡ • Tobias ¡Pietzsch ¡(MPI-­‑CBG) ¡ – Johannes ¡Schindelin ¡ • Stephan ¡Saalfeld ¡(MPI-­‑CBG) ¡ – Cur)s ¡Rueden ¡ ¡ – Barry ¡DeZonia ¡ • Pavel ¡Tomancak ¡(MPI-­‑CBG) ¡ – Kevin ¡Eliceiri ¡ • Gene ¡Myers ¡(MPI-­‑CBG) ¡ • Albert ¡Cardona ¡ • KNIME ¡guys ¡ • Rob ¡Singer ¡ ¡ – Chris)an ¡Dietz ¡ (Einstein ¡College ¡& ¡Janelia ¡Farm) ¡ – Mar)n ¡Horn ¡

  3. ImgLib2 ¡paper ¡is ¡finally ¡out ¡… ¡

  4. Why ¡using ¡ImgLib2? ¡ • Generic ¡programming ¡– ¡Write ¡it ¡once! ¡ • Directly ¡applicable ¡to ¡very ¡large ¡datasets, ¡ different ¡dimensionality ¡or ¡pixel ¡type ¡ • ImgLib2 ¡does ¡not ¡force ¡you ¡to ¡implement ¡type ¡ independent ¡or ¡n-­‑dimensional ¡– ¡it ¡is ¡s)ll ¡ applicable ¡to ¡very ¡large ¡datasets ¡ • More ¡algorithm-­‑like ¡programming ¡ • Fewer ¡simple ¡programming ¡mistakes ¡ • Easier ¡exchange ¡of ¡code ¡ • Smaller ¡source ¡code ¡

  5. ImagePlus ¡

  6. Img ¡ ¡ +cursor(): ¡Cursor<T> ¡ +localizingCursor(): ¡Cursor<T> ¡ +randomAccess(): ¡RandomAccess<T> ¡ +firstElement(): ¡T ¡ +factory(): ¡ImgFactory<T> ¡ ¡ ¡ ¡ ImagePlus ¡ ¡ ¡

  7. T:RealType ¡ Cursor ¡ ¡ +hasNext() ¡ +fwd() ¡ +get(): ¡T ¡ +next(): ¡T ¡ T:RealType ¡ Img ¡ ¡ +cursor(): ¡Cursor<T> ¡ +localizingCursor(): ¡Cursor<T> ¡ +randomAccess(): ¡RandomAccess<T> ¡ +firstElement(): ¡T ¡ +factory(): ¡ImgFactory<T> ¡ ¡ ¡ ¡ ImagePlus ¡ ¡ ¡

  8. T:RealType ¡ T:RealType ¡ RealType ¡ Cursor ¡ FloatType ¡ ¡ ¡ ¡ +hasNext() ¡ +getRealFloat(): ¡float ¡ +get(): ¡float ¡ +fwd() ¡ +getRealDouble(): ¡double ¡ +set(value: ¡float) ¡ +get(): ¡T ¡ +setReal(value: ¡float) ¡ +copy(): ¡FloatType ¡ +next(): ¡T ¡ +setReal(value: ¡double) ¡ +copy(): ¡T ¡ T:RealType ¡ Img ¡ ¡ +cursor(): ¡Cursor<T> ¡ +localizingCursor(): ¡Cursor<T> ¡ +randomAccess(): ¡RandomAccess<T> ¡ +firstElement(): ¡T ¡ +factory(): ¡ImgFactory<T> ¡ ¡ ¡ ¡ ImagePlus ¡ ¡ ¡

  9. T:RealType ¡ T:RealType ¡ RealType ¡ Cursor ¡ FloatType ¡ ¡ ¡ ¡ +hasNext() ¡ +getRealFloat(): ¡float ¡ +get(): ¡float ¡ +fwd() ¡ +getRealDouble(): ¡double ¡ +set(value: ¡float) ¡ +get(): ¡T ¡ +setReal(value: ¡float) ¡ +copy(): ¡FloatType ¡ +next(): ¡T ¡ +setReal(value: ¡double) ¡ +copy(): ¡T ¡ T:RealType ¡ T:RealType ¡ (Localizing)Cursor ¡ Img ¡ ¡ ¡ +cursor(): ¡Cursor<T> ¡ +hasNext() ¡ +localizingCursor(): ¡Cursor<T> ¡ +fwd() ¡ +randomAccess(): ¡RandomAccess<T> ¡ +get(): ¡T ¡ +firstElement(): ¡T ¡ +next(): ¡T ¡ +factory(): ¡ImgFactory<T> ¡ +localize(posiJon:int[]) ¡ ¡ +localize(posiJon:long[]) ¡ ¡ +getIntPosiJon(d:int): ¡int ¡ ¡ +getLongPosiJon(d:int): ¡long ¡ ImagePlus ¡ ¡ ¡

  10. T:RealType ¡ T:RealType ¡ RealType ¡ Cursor ¡ FloatType ¡ ¡ ¡ ¡ +hasNext() ¡ +getRealFloat(): ¡float ¡ +get(): ¡float ¡ +fwd() ¡ +getRealDouble(): ¡double ¡ +set(value: ¡float) ¡ +get(): ¡T ¡ +setReal(value: ¡float) ¡ +copy(): ¡FloatType ¡ +next(): ¡T ¡ +setReal(value: ¡double) ¡ +copy(): ¡T ¡ T:RealType ¡ T:RealType ¡ (Localizing)Cursor ¡ Img ¡ ¡ ¡ +cursor(): ¡Cursor<T> ¡ +hasNext() ¡ +localizingCursor(): ¡Cursor<T> ¡ +fwd() ¡ +randomAccess(): ¡RandomAccess<T> ¡ +get(): ¡T ¡ +firstElement(): ¡T ¡ +next(): ¡T ¡ +factory(): ¡ImgFactory<T> ¡ +localize(posiJon:int[]) ¡ ¡ +localize(posiJon:long[]) ¡ ¡ +getIntPosiJon(d:int): ¡int ¡ ¡ +getLongPosiJon(d:int): ¡long ¡ ImagePlus ¡ ¡ ¡ T:RealType ¡ RandomAccess ¡ ¡ +get(): ¡T ¡ +fwd(d:int) ¡ +bck(d:int) ¡ +setPosiJon(posiJon:int[]) ¡ +setPosiJon(posiJon:long[]) ¡ +setPosiJon(pos:int, ¡d:int) ¡ +setPosiJon(pos:long, ¡d:int) ¡

  11. T:RealType ¡ T:RealType ¡ RealType ¡ Cursor ¡ FloatType ¡ ¡ ¡ ¡ +hasNext() ¡ +getRealFloat(): ¡float ¡ +get(): ¡float ¡ +fwd() ¡ +getRealDouble(): ¡double ¡ +set(value: ¡float) ¡ +get(): ¡T ¡ +setReal(value: ¡float) ¡ +copy(): ¡FloatType ¡ +next(): ¡T ¡ +setReal(value: ¡double) ¡ +copy(): ¡T ¡ T:RealType ¡ T:RealType ¡ (Localizing)Cursor ¡ Img ¡ ¡ ¡ +cursor(): ¡Cursor<T> ¡ +hasNext() ¡ +localizingCursor(): ¡Cursor<T> ¡ +fwd() ¡ +randomAccess(): ¡RandomAccess<T> ¡ +get(): ¡T ¡ +firstElement(): ¡T ¡ +next(): ¡T ¡ +factory(): ¡ImgFactory<T> ¡ +localize(posiJon:int[]) ¡ ¡ +localize(posiJon:long[]) ¡ ¡ +getIntPosiJon(d:int): ¡int ¡ ¡ +getLongPosiJon(d:int): ¡long ¡ ImagePlus ¡ ¡ ¡ T:RealType ¡ RandomAccess ¡ ¡ +get(): ¡T ¡ +fwd(d:int) ¡ T:RealType ¡ +bck(d:int) ¡ ImgFactory ¡ +setPosiJon(posiJon:int[]) ¡ ¡ +setPosiJon(posiJon:long[]) ¡ +create(dim:long[], ¡type:T): ¡Img<T> ¡ +setPosiJon(pos:int, ¡d:int) ¡ +create(dim:int[], ¡type:T): ¡Img<T> ¡ +setPosiJon(pos:long, ¡d:int) ¡ +create(dim:Dimensions, ¡type:T): ¡Img<T> ¡

  12. T:RealType ¡ T:RealType ¡ RealType ¡ Cursor ¡ FloatType ¡ ¡ ¡ ¡ +hasNext() ¡ +getRealFloat(): ¡float ¡ +get(): ¡float ¡ +fwd() ¡ +getRealDouble(): ¡double ¡ +set(value: ¡float) ¡ +get(): ¡T ¡ +setReal(value: ¡float) ¡ +copy(): ¡FloatType ¡ +next(): ¡T ¡ +setReal(value: ¡double) ¡ +copy(): ¡T ¡ T:RealType ¡ T:RealType ¡ (Localizing)Cursor ¡ Img ¡ ¡ ¡ T:RealType ¡ +cursor(): ¡Cursor<T> ¡ +hasNext() ¡ OutOfBoundsStrategy ¡ +localizingCursor(): ¡Cursor<T> ¡ +fwd() ¡ +randomAccess(): ¡RandomAccess<T> ¡ +get(): ¡T ¡ +firstElement(): ¡T ¡ +next(): ¡T ¡ +factory(): ¡ImgFactory<T> ¡ +localize(posiJon:int[]) ¡ ¡ +localize(posiJon:long[]) ¡ ¡ +getIntPosiJon(d:int): ¡int ¡ ¡ +getLongPosiJon(d:int): ¡long ¡ ImagePlus ¡ ¡ ¡ T:RealType ¡ RandomAccess ¡ ¡ +get(): ¡T ¡ +fwd(d:int) ¡ T:RealType ¡ +bck(d:int) ¡ ImgFactory ¡ +setPosiJon(posiJon:int[]) ¡ ¡ +setPosiJon(posiJon:long[]) ¡ +create(dim:long[], ¡type:T): ¡Img<T> ¡ +setPosiJon(pos:int, ¡d:int) ¡ +create(dim:int[], ¡type:T): ¡Img<T> ¡ +setPosiJon(pos:long, ¡d:int) ¡ +create(dim:Dimensions, ¡type:T): ¡Img<T> ¡

  13. T:RealType ¡ T:RealType ¡ RealType ¡ Cursor ¡ FloatType ¡ ¡ ¡ ¡ +hasNext() ¡ +getRealFloat(): ¡float ¡ +get(): ¡float ¡ +fwd() ¡ +getRealDouble(): ¡double ¡ +set(value: ¡float) ¡ +get(): ¡T ¡ +setReal(value: ¡float) ¡ +copy(): ¡FloatType ¡ +next(): ¡T ¡ +setReal(value: ¡double) ¡ +copy(): ¡T ¡ T:RealType ¡ T:RealType ¡ (Localizing)Cursor ¡ Img ¡ ¡ ¡ T:RealType ¡ +cursor(): ¡Cursor<T> ¡ +hasNext() ¡ OutOfBoundsStrategy ¡ +localizingCursor(): ¡Cursor<T> ¡ +fwd() ¡ +randomAccess(): ¡RandomAccess<T> ¡ +get(): ¡T ¡ +firstElement(): ¡T ¡ +next(): ¡T ¡ +factory(): ¡ImgFactory<T> ¡ +localize(posiJon:int[]) ¡ ¡ +localize(posiJon:long[]) ¡ T:RealType ¡ ¡ +getIntPosiJon(d:int): ¡int ¡ RealRandomAccess ¡ ¡ +getLongPosiJon(d:int): ¡long ¡ ImagePlus ¡ ¡ +get(): ¡T ¡ ¡ +setPosiJon(posiJon:float[]) ¡ ¡ +setPosiJon(posiJon:double[]) ¡ +setPosiJon(pos:int, ¡d:float) ¡ T:RealType ¡ +setPosiJon(pos:long, ¡d:double) ¡ RandomAccess ¡ ¡ +get(): ¡T ¡ +fwd(d:int) ¡ T:RealType ¡ +bck(d:int) ¡ ImgFactory ¡ +setPosiJon(posiJon:int[]) ¡ ¡ +setPosiJon(posiJon:long[]) ¡ +create(dim:long[], ¡type:T): ¡Img<T> ¡ +setPosiJon(pos:int, ¡d:int) ¡ +create(dim:int[], ¡type:T): ¡Img<T> ¡ +setPosiJon(pos:long, ¡d:int) ¡ +create(dim:Dimensions, ¡type:T): ¡Img<T> ¡

  14. Hands ¡on ¡Programming ¡ ① ¡Threshold ¡on ¡an ¡image ¡ ② ¡Center ¡of ¡mass ¡of ¡an ¡image ¡ ③ ¡Gradient ¡of ¡an ¡image ¡ ④ ¡Rigid ¡transforma)on ¡of ¡an ¡image ¡

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend