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

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

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

Views.addDimension介绍

[英]Create view which adds a dimension to the source RandomAccessible. The additional dimension is the last dimension. For example, an XYZ view is created for an XY source. When accessing an XYZ sample in the view, the final coordinate is discarded and the source XY sample is accessed.
[中]创建将标注添加到源视图的视图。附加维度是最后一个维度。例如,将为XY源创建XYZ视图。在视图中访问XYZ采样时,将放弃最终坐标,并访问源XY采样。

代码示例

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

  1. @Override
  2. public IntervalView<T> calculate(RandomAccessibleInterval<T> input) {
  3. return Views.addDimension(input, minOfNewDim, maxOfNewDim);
  4. }

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

  1. @Override
  2. public MixedTransformView<T> calculate(RandomAccessible<T> input) {
  3. return Views.addDimension(input);
  4. }

代码示例来源:origin: net.preibisch/multiview-reconstruction

  1. protected RandomAccessibleInterval< FloatType > getOrCreateDarkImgDownsampled(ViewId vId, int[] downsamplingFactors)
  2. {
  3. ArrayList< Integer > dsFactorList = new ArrayList< Integer >();
  4. for ( int i : downsamplingFactors )
  5. dsFactorList.add( i );
  6. final ValuePair< File, List< Integer > > key = new ValuePair<>( fileMap.get( vId ).getB(), dsFactorList );
  7. if ( !dsRaiMap.containsKey( key ) )
  8. {
  9. final RandomAccessibleInterval< FloatType > darkImg = getDarkImg( vId );
  10. if ( darkImg == null )
  11. return null;
  12. // NB: we add a singleton z-dimension here for downsampleHDF5 to
  13. // work
  14. final RandomAccessibleInterval< FloatType > downsampled = downsampleHDF5(
  15. Views.addDimension( darkImg, 0, 0 ), downsamplingFactors );
  16. dsRaiMap.put( key, downsampled );
  17. }
  18. return dsRaiMap.get( key );
  19. }

代码示例来源:origin: net.preibisch/multiview-reconstruction

  1. protected RandomAccessibleInterval< FloatType > getOrCreateBrightImgDownsampled(ViewId vId,
  2. int[] downsamplingFactors)
  3. {
  4. ArrayList< Integer > dsFactorList = new ArrayList< Integer >();
  5. for ( int i : downsamplingFactors )
  6. dsFactorList.add( i );
  7. final ValuePair< File, List< Integer > > key = new ValuePair<>( fileMap.get( vId ).getA(), dsFactorList );
  8. if ( !dsRaiMap.containsKey( key ) )
  9. {
  10. final RandomAccessibleInterval< FloatType > brightImg = getBrightImg( vId );
  11. if ( brightImg == null )
  12. return null;
  13. // NB: we add a singleton z-dimension here for downsampleHDF5 to
  14. // work
  15. final RandomAccessibleInterval< FloatType > downsampled = downsampleHDF5(
  16. Views.addDimension( brightImg, 0, 0 ), downsamplingFactors );
  17. dsRaiMap.put( key, downsampled );
  18. }
  19. return dsRaiMap.get( key );
  20. }

代码示例来源:origin: sc.fiji/bigdataviewer-vistools

  1. sourceStacks.set( i, Views.addDimension( sourceStacks.get( i ), 0, 0 ) );

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

  1. /**
  2. * Create view which adds a dimension to the source
  3. * {@link RandomAccessibleInterval}. The {@link Interval} boundaries in the
  4. * additional dimension are set to the specified values.
  5. *
  6. * The additional dimension is the last dimension. For example, an XYZ view
  7. * is created for an XY source. When accessing an XYZ sample in the view,
  8. * the final coordinate is discarded and the source XY sample is accessed.
  9. *
  10. * @param interval
  11. * the source
  12. * @param minOfNewDim
  13. * Interval min in the additional dimension.
  14. * @param maxOfNewDim
  15. * Interval max in the additional dimension.
  16. */
  17. public static < T > IntervalView< T > addDimension( final RandomAccessibleInterval< T > interval, final long minOfNewDim, final long maxOfNewDim )
  18. {
  19. final int m = interval.numDimensions();
  20. final long[] min = new long[ m + 1 ];
  21. final long[] max = new long[ m + 1 ];
  22. for ( int d = 0; d < m; ++d )
  23. {
  24. min[ d ] = interval.min( d );
  25. max[ d ] = interval.max( d );
  26. }
  27. min[ m ] = minOfNewDim;
  28. max[ m ] = maxOfNewDim;
  29. return Views.interval( Views.addDimension( interval ), min, max );
  30. }

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

  1. @Override
  2. public void run() {
  3. // parse the spacing, and scales strings.
  4. spacing = checkDimensions(spacingString, input.numDimensions(), "Spacings");
  5. scales = Arrays.stream(scaleString.split(regex)).mapToInt(Integer::parseInt)
  6. .toArray();
  7. Dimensions resultDims = Views.addDimension(input, 0, scales.length - 1);
  8. // create output image, potentially-filtered input
  9. result = opService.create().img(resultDims, new FloatType());
  10. for (int s = 0; s < scales.length; s++) {
  11. // Determine whether or not the user would like to apply the gaussian
  12. // beforehand and do it.
  13. RandomAccessibleInterval<T> vesselnessInput = doGauss ? opService.filter()
  14. .gauss(input, scales[s]) : input;
  15. IntervalView<FloatType> scaleResult = Views.hyperSlice(result, result
  16. .numDimensions() - 1, s);
  17. opService.filter().frangiVesselness(scaleResult, vesselnessInput, spacing,
  18. scales[s]);
  19. }
  20. }
  21. }

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

  1. /**
  2. * Create view which adds a dimension to the source
  3. * {@link RandomAccessibleInterval}. The {@link Interval} boundaries in the
  4. * additional dimension are set to the specified values.
  5. *
  6. * The additional dimension is the last dimension. For example, an XYZ view
  7. * is created for an XY source. When accessing an XYZ sample in the view,
  8. * the final coordinate is discarded and the source XY sample is accessed.
  9. *
  10. * @param interval
  11. * the source
  12. * @param minOfNewDim
  13. * Interval min in the additional dimension.
  14. * @param maxOfNewDim
  15. * Interval max in the additional dimension.
  16. */
  17. public static < T > IntervalView< T > addDimension( final RandomAccessibleInterval< T > interval, final long minOfNewDim, final long maxOfNewDim )
  18. {
  19. final int m = interval.numDimensions();
  20. final long[] min = new long[ m + 1 ];
  21. final long[] max = new long[ m + 1 ];
  22. for ( int d = 0; d < m; ++d )
  23. {
  24. min[ d ] = interval.min( d );
  25. max[ d ] = interval.max( d );
  26. }
  27. min[ m ] = minOfNewDim;
  28. max[ m ] = maxOfNewDim;
  29. return Views.interval( Views.addDimension( interval ), min, max );
  30. }

代码示例来源:origin: sc.fiji/bigdataviewer-vistools

  1. interval = new FinalInterval( min, max );
  2. for ( int i = 0; i < sourceStacks.size(); ++i )
  3. sourceStacks.set( i, Views.addDimension( sourceStacks.get( i ) ) );

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

  1. ( RandomAccessible< T > ) Views.addDimension( source ),
  2. Views.interval( Views.addDimension( target ), new FinalInterval( target.dimension( 0 ), 1 ) ),
  3. d,
  4. 0 );

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

  1. ( RandomAccessible< T > ) Views.addDimension( source ),
  2. Views.interval( Views.addDimension( target ), new FinalInterval( target.dimension( 0 ), 1 ) ),
  3. 0,
  4. weights[ 0 ] );

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

  1. ( RandomAccessible< T > ) Views.addDimension( source ),
  2. Views.interval( Views.addDimension( target ), new FinalInterval( target.dimension( 0 ), 1 ) ),
  3. 0,
  4. weights[ 0 ],

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

  1. /**
  2. *
  3. * Switch for calling convenience method with pre-defined distances.
  4. *
  5. */
  6. public static enum DISTANCE_TYPE
  7. {
  8. /**
  9. * Squared Euclidian distance using {@link EuclidianDistanceIsotropic} or
  10. * {@link EuclidianDistanceAnisotropic}.
  11. */
  12. EUCLIDIAN,
  13. /**
  14. * L1 distance using special case implementation.
  15. */
  16. L1
  17. }

代码示例来源:origin: net.imagej/imagej-deprecated

  1. /**
  2. * {@link RandomAccessibleInterval} with same sice as target is returned
  3. *
  4. * @param src
  5. * {@link RandomAccessibleInterval} to be adjusted
  6. * @param target
  7. * {@link Interval} describing the resulting sizes
  8. * @return Adjusted {@link RandomAccessibleInterval}
  9. */
  10. public static <T> RandomAccessibleInterval<T> synchronizeDimensionality(
  11. final RandomAccessibleInterval<T> src, final Interval target) {
  12. RandomAccessibleInterval<T> res = src;
  13. // Check direction of conversion
  14. if (intervalEquals(src, target))
  15. return res;
  16. // adjust dimensions
  17. if (res.numDimensions() < target.numDimensions()) {
  18. for (int d = res.numDimensions(); d < target.numDimensions(); d++) {
  19. res = Views.addDimension(res, target.min(d), target.max(d));
  20. }
  21. } else {
  22. for (int d = res.numDimensions() - 1; d >= target.numDimensions(); --d)
  23. res = Views.hyperSlice(res, d, 0);
  24. }
  25. long[] resDims = new long[res.numDimensions()];
  26. res.dimensions(resDims);
  27. return Views.interval(Views.extendBorder(res), target);
  28. }

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

  1. /**
  2. * {@link RandomAccessibleInterval} with same sice as target is returned
  3. *
  4. * @param src
  5. * {@link RandomAccessibleInterval} to be adjusted
  6. * @param target
  7. * {@link Interval} describing the resulting sizes
  8. * @return Adjusted {@link RandomAccessibleInterval}
  9. */
  10. public static <T> RandomAccessibleInterval<T> synchronizeDimensionality(
  11. final RandomAccessibleInterval<T> src, final Interval target) {
  12. RandomAccessibleInterval<T> res = src;
  13. // Check direction of conversion
  14. if (intervalEquals(src, target))
  15. return res;
  16. // adjust dimensions
  17. if (res.numDimensions() < target.numDimensions()) {
  18. for (int d = res.numDimensions(); d < target.numDimensions(); d++) {
  19. res = Views.addDimension(res, target.min(d), target.max(d));
  20. }
  21. } else {
  22. for (int d = res.numDimensions() - 1; d >= target.numDimensions(); --d)
  23. res = Views.hyperSlice(res, d, 0);
  24. }
  25. long[] resDims = new long[res.numDimensions()];
  26. res.dimensions(resDims);
  27. return Views.interval(Views.extendBorder(res), target);
  28. }

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

  1. @Test
  2. public void addDimensionMinMaxTest() {
  3. Img<DoubleType> img = new ArrayImgFactory<DoubleType>().create(new int[] { 10, 10 }, new DoubleType());
  4. int max = 20;
  5. int min = 0;
  6. IntervalView<DoubleType> il2 = Views.addDimension(img, min, max);
  7. IntervalView<DoubleType> opr = ops.transform().addDimensionView(img, min, max);
  8. assertEquals(il2.numDimensions(), opr.numDimensions(), 0.0);
  9. for (int i = 0; i < il2.numDimensions(); i++) {
  10. assertEquals(il2.dimension(i), opr.dimension(i), 0.0);
  11. }
  12. }
  13. }

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

  1. RandomAccessible<T> expandedKernelA = Views.addDimension(kernelA);
  2. RandomAccessible<T> expandedKernelB = Views.addDimension(kernelB);
  3. for (int i = 0; i < in().numDimensions() - 3; i++) {
  4. expandedKernelA = Views.addDimension(expandedKernelA);
  5. expandedKernelB = Views.addDimension(expandedKernelB);

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

  1. @Test
  2. public void addDimensionTest() {
  3. Img<DoubleType> img = new ArrayImgFactory<DoubleType>().create(new int[] { 10, 10 }, new DoubleType());
  4. MixedTransformView<DoubleType> il2 = Views.addDimension((RandomAccessible<DoubleType>)img);
  5. MixedTransformView<DoubleType> opr = ops.transform().addDimensionView((RandomAccessible<DoubleType>)img);
  6. assertEquals(il2.numDimensions(), opr.numDimensions());
  7. boolean[] il2Transform = new boolean[3];
  8. boolean[] oprTransform = new boolean[3];
  9. il2.getTransformToSource().getComponentZero(il2Transform);
  10. opr.getTransformToSource().getComponentZero(oprTransform);
  11. for (int i = 0; i < il2Transform.length; i++) {
  12. assertEquals(il2Transform[i], oprTransform[i]);
  13. }
  14. }

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

  1. for (final AxisType type : missing) {
  2. final int idx = targetSpace.getAxisIndex(type);
  3. res = Views.addDimension(res, target.min(idx), target.max(idx));
  4. resSpace.setAxis(type, i++);

代码示例来源:origin: net.imagej/imagej-deprecated

  1. for (final AxisType type : missing) {
  2. final int idx = targetSpace.dimensionIndex(type);
  3. res = Views.addDimension(res, target.min(idx), target.max(idx));
  4. resSpace.setAxis(new DefaultLinearAxis(type), i++);

相关文章