net.imglib2.view.Views.shear()方法的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(5.7k)|赞(0)|评价(0)|浏览(89)

本文整理了Java中net.imglib2.view.Views.shear()方法的一些代码示例,展示了Views.shear()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Views.shear()方法的具体详情如下:
包路径:net.imglib2.view.Views
类名称:Views
方法名:shear

Views.shear介绍

[英]Positive shear transform of a RandomAccessible using ShearTransform, i.e. c[ shearDimension ] = c[ shearDimension ] + c[ referenceDimension ]
[中]使用剪切变换的随机变量的正剪切变换,即c[shearDimension]=c[shearDimension]+c[referenceDimension]

代码示例

代码示例来源:origin: imagej/imagej-ops

  1. @Override
  2. public IntervalView<T> calculate(RandomAccessible<T> input) {
  3. return Views.shear(input, interval, shearDimension, referenceDimension);
  4. }

代码示例来源:origin: imagej/imagej-ops

  1. @Override
  2. public TransformView<T> calculate(RandomAccessible<T> input) {
  3. return Views.shear(input, shearDimension, referenceDimension);
  4. }

代码示例来源:origin: imglib/imglib2

  1. /**
  2. * Positive shear transform of a RandomAccessible using
  3. * {@link ShearTransform}, i.e. c[ shearDimension ] = c[ shearDimension ] +
  4. * c[ referenceDimension ]
  5. *
  6. * @param source
  7. * input, e.g. extended {@link RandomAccessibleInterval}
  8. * @param interval
  9. * original interval
  10. * @param shearDimension
  11. * dimension to be sheared
  12. * @param referenceDimension
  13. * reference dimension for shear
  14. *
  15. * @return {@link IntervalView} containing the result. The returned
  16. * interval's dimension are determined by applying the
  17. * {@link ShearTransform#transform} method on the input interval.
  18. */
  19. public static < T > IntervalView< T > shear( final RandomAccessible< T > source, final Interval interval, final int shearDimension, final int referenceDimension )
  20. {
  21. final ShearTransform transform = new ShearTransform( source.numDimensions(), shearDimension, referenceDimension );
  22. return Views.interval( Views.shear( source, shearDimension, referenceDimension ), transform.transform( new BoundingBox( interval ) ).getInterval() );
  23. }

代码示例来源:origin: net.imglib2/imglib2

  1. /**
  2. * Positive shear transform of a RandomAccessible using
  3. * {@link ShearTransform}, i.e. c[ shearDimension ] = c[ shearDimension ] +
  4. * c[ referenceDimension ]
  5. *
  6. * @param source
  7. * input, e.g. extended {@link RandomAccessibleInterval}
  8. * @param interval
  9. * original interval
  10. * @param shearDimension
  11. * dimension to be sheared
  12. * @param referenceDimension
  13. * reference dimension for shear
  14. *
  15. * @return {@link IntervalView} containing the result. The returned
  16. * interval's dimension are determined by applying the
  17. * {@link ShearTransform#transform} method on the input interval.
  18. */
  19. public static < T > IntervalView< T > shear( final RandomAccessible< T > source, final Interval interval, final int shearDimension, final int referenceDimension )
  20. {
  21. final ShearTransform transform = new ShearTransform( source.numDimensions(), shearDimension, referenceDimension );
  22. return Views.interval( Views.shear( source, shearDimension, referenceDimension ), transform.transform( new BoundingBox( interval ) ).getInterval() );
  23. }

代码示例来源:origin: imagej/imagej-ops

  1. @Test
  2. public void UnshearIntervalTest() {
  3. Img<DoubleType> img = new ArrayImgFactory<DoubleType>().create(new int[] { 2, 2 }, new DoubleType());
  4. Cursor<DoubleType> imgC = img.cursor();
  5. while (imgC.hasNext()) {
  6. imgC.next().set(1);
  7. }
  8. Cursor<DoubleType> il2 = Views
  9. .unshear(Views.shear(Views.extendZero(img), 0, 1), new FinalInterval(new long[] { 0, 0 }, new long[] { 3, 3 }), 0, 1)
  10. .cursor();
  11. RandomAccess<DoubleType> opr = ops.transform()
  12. .unshearView(Views.shear(Views.extendZero(img), 0, 1), new FinalInterval(new long[] { 0, 0 }, new long[] { 3, 3 }), 0, 1)
  13. .randomAccess();
  14. while (il2.hasNext()) {
  15. il2.next();
  16. opr.setPosition(il2);
  17. assertEquals(il2.get().get(), opr.get().get(), 1e-10);
  18. }
  19. }
  20. }

代码示例来源:origin: imagej/imagej-ops

  1. @Test
  2. public void defaultUnshearTest() {
  3. Img<DoubleType> img = new ArrayImgFactory<DoubleType>().create(new int[] { 2, 2 }, new DoubleType());
  4. Cursor<DoubleType> imgC = img.cursor();
  5. while (imgC.hasNext()) {
  6. imgC.next().set(1);
  7. }
  8. TransformView<DoubleType> il2 = Views.unshear(Views.shear(Views.extendZero(img), 0, 1), 0, 1);
  9. TransformView<DoubleType> opr = ops.transform().unshearView(Views.shear(Views.extendZero(img), 0, 1), 0, 1);
  10. Cursor<DoubleType> il2C = Views.interval(il2, new FinalInterval(new long[] { 0, 0 }, new long[] { 3, 3 }))
  11. .cursor();
  12. RandomAccess<DoubleType> oprRA = Views
  13. .interval(opr, new FinalInterval(new long[] { 0, 0 }, new long[] { 3, 3 })).randomAccess();
  14. while (il2C.hasNext()) {
  15. il2C.next();
  16. oprRA.setPosition(il2C);
  17. assertEquals(il2C.get().get(), oprRA.get().get(), 1e-10);
  18. }
  19. }

代码示例来源:origin: imagej/imagej-ops

  1. /** Tests {@link ShearViewInterval}. */
  2. @Test
  3. public void ShearIntervalTest() {
  4. Img<DoubleType> img = new ArrayImgFactory<DoubleType>().create(new int[] { 2, 2 }, new DoubleType());
  5. Cursor<DoubleType> imgC = img.cursor();
  6. while (imgC.hasNext()) {
  7. imgC.next().set(1);
  8. }
  9. Cursor<DoubleType> il2 = Views
  10. .shear(Views.extendZero(img), new FinalInterval(new long[] { 0, 0 }, new long[] { 3, 3 }), 0, 1)
  11. .cursor();
  12. RandomAccess<DoubleType> opr = ops.transform()
  13. .shearView(Views.extendZero(img), new FinalInterval(new long[] { 0, 0 }, new long[] { 3, 3 }), 0, 1)
  14. .randomAccess();
  15. while (il2.hasNext()) {
  16. il2.next();
  17. opr.setPosition(il2);
  18. assertEquals(il2.get().get(), opr.get().get(), 1e-10);
  19. }
  20. }
  21. }

代码示例来源:origin: imagej/imagej-ops

  1. /** Tests {@link DefaultShearView}. */
  2. @Test
  3. public void defaultShearTest() {
  4. Img<DoubleType> img = new ArrayImgFactory<DoubleType>().create(new int[] { 2, 2 }, new DoubleType());
  5. Cursor<DoubleType> imgC = img.cursor();
  6. while (imgC.hasNext()) {
  7. imgC.next().set(1);
  8. }
  9. TransformView<DoubleType> il2 = Views.shear(Views.extendZero(img), 0, 1);
  10. TransformView<DoubleType> opr = ops.transform().shearView(Views.extendZero(img), 0, 1);
  11. Cursor<DoubleType> il2C = Views.interval(il2, new FinalInterval(new long[] { 0, 0 }, new long[] { 3, 3 }))
  12. .cursor();
  13. RandomAccess<DoubleType> oprRA = Views
  14. .interval(opr, new FinalInterval(new long[] { 0, 0 }, new long[] { 3, 3 })).randomAccess();
  15. while (il2C.hasNext()) {
  16. il2C.next();
  17. oprRA.setPosition(il2C);
  18. assertEquals(il2C.get().get(), oprRA.get().get(), 1e-10);
  19. }
  20. }

代码示例来源:origin: imglib/imglib2

  1. tf.transform( boundingBox );
  2. IntervalView<FloatType> viewTransformed = Views.shear( extended, img, target, source );

相关文章