当前位置: 首页>>代码示例>>Java>>正文


Java ImagePlusImgFactory类代码示例

本文整理汇总了Java中net.imglib2.img.imageplus.ImagePlusImgFactory的典型用法代码示例。如果您正苦于以下问题:Java ImagePlusImgFactory类的具体用法?Java ImagePlusImgFactory怎么用?Java ImagePlusImgFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ImagePlusImgFactory类属于net.imglib2.img.imageplus包,在下文中一共展示了ImagePlusImgFactory类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: copyToFloatImagePlus

import net.imglib2.img.imageplus.ImagePlusImgFactory; //导入依赖的package包/类
/** Copy the contents from img to an ImagePlus; assumes containers are compatible. */
static public ImagePlus copyToFloatImagePlus(final Img<? extends RealType<?>> img, final String title) {
	ImagePlusImgFactory<FloatType> factory = new ImagePlusImgFactory<FloatType>();
	ImagePlusImg<FloatType, ?> iml = factory.create(img, new FloatType());
	Cursor<FloatType> c1 = iml.cursor();
	Cursor<? extends RealType<?>> c2 = img.cursor();
	while (c1.hasNext()) {
		c1.fwd();
		c2.fwd();
		c1.get().set(c2.get().getRealFloat());
	}
	try {
		ImagePlus imp = iml.getImagePlus();
		imp.setTitle(title);
		return imp;
	} catch (ImgLibException e) {
		e.printStackTrace();
		return null;
	}
}
 
开发者ID:imglib,项目名称:imglib2-script,代码行数:21,代码来源:Benchmark.java

示例2: copyToImagePlus

import net.imglib2.img.imageplus.ImagePlusImgFactory; //导入依赖的package包/类
public static < T extends NativeType< T >> ImagePlusImg<T, ?> copyToImagePlus(
 		RandomAccessible<T> img,
 		IterableInterval<?> interval
 ) throws Exception {


   ImagePlusImgFactory<T> factory = new ImagePlusImgFactory<T>();
   T t = img.randomAccess().get();
   ImagePlusImg<T, ?> ipImg = factory.create(interval,t);

   logger.debug("create image plus of type: " + t.getClass());
   logger.debug("result is of type: " + ipImg.firstElement().getClass());

   Cursor<T> c_in  = ipImg.cursor();
   RandomAccess<T> ra = img.randomAccess();

   while(c_in.hasNext()){
      c_in.fwd();
      ra.setPosition(c_in);
      ra.get().set(c_in.get());
   }

   return ipImg;

}
 
开发者ID:bogovicj,项目名称:hhmi-exp,代码行数:26,代码来源:ImgOps.java

示例3: copyToImageStack

import net.imglib2.img.imageplus.ImagePlusImgFactory; //导入依赖的package包/类
public static < T extends NumericType< T > & NativeType< T > > ImagePlus copyToImageStack( final RealRandomAccessible< T > rai, final Interval itvl )
{
	final long[] dimensions = new long[ itvl.numDimensions() ];
	itvl.dimensions( dimensions );

	// create the image plus image
	final T t = rai.realRandomAccess().get();
	final ImagePlusImgFactory< T > factory = new ImagePlusImgFactory< T >();
	final ImagePlusImg< T, ? > target = factory.create( itvl, t );

	double k = 0;
	final long N = dimensions[ 0 ] * dimensions[ 1 ] * dimensions[ 2 ];

	final net.imglib2.Cursor< T > c = target.cursor();
	final RealRandomAccess< T > ra = rai.realRandomAccess();
	while ( c.hasNext() )
	{
		c.fwd();
		ra.setPosition( c );
		c.get().set( ra.get() );

		if ( k % 10000 == 0 )
		{
			IJ.showProgress( k / N );
		}
		k++;
	}

	IJ.showProgress( 1.1 );
	try
	{
		return target.getImagePlus();
	}
	catch ( final ImgLibException e )
	{
		e.printStackTrace();
	}

	return null;
}
 
开发者ID:saalfeldlab,项目名称:bigwarp,代码行数:41,代码来源:BigWarpRealExporter.java

示例4: createImagePlusImage

import net.imglib2.img.imageplus.ImagePlusImgFactory; //导入依赖的package包/类
private ByteImagePlus<UnsignedByteType> createImagePlusImage(final ImageProcessor ip) {
	if ( dimensions.length == 1 )
		return null;
	if ( ip != null )
	{
		final ImagePlus imp = new ImagePlus("image", ip);
		return ImagePlusAdapter.wrapByte(imp);
	}
	if ( dimensions[ 0 ] * dimensions[ 1 ] > Integer.MAX_VALUE )
		return null;
	if ( numDimensions > 5 )
		return null;
	final ByteImagePlus<UnsignedByteType> imagePlusContainer = ( ByteImagePlus<UnsignedByteType> ) createImage( dimensions, new ImagePlusImgFactory< UnsignedByteType >() );
	return imagePlusContainer;
}
 
开发者ID:imglib,项目名称:imglib2-tests,代码行数:16,代码来源:ImglibBenchmark.java

示例5: debugVisEdgelView

import net.imglib2.img.imageplus.ImagePlusImgFactory; //导入依赖的package包/类
public void debugVisEdgelView(int i, Edgel e, Edgel f){
		RandomAccessible<T> ev = 
				EdgelTools.edgelToView(e, img, patchSize);
		
		RandomAccessible<T> fv = 
				EdgelTools.edgelToView(f, img, patchSize);
		
//		ArrayImgFactory<T> ubfactory = new ArrayImgFactory<T>();
		ImagePlusImgFactory<T> ipfactory = new ImagePlusImgFactory<T>(); 
		
		Img<T> ePatchImg = ipfactory.create(patchSize, mask.firstElement());
		Img<T> fPatchImg = ipfactory.create(patchSize, mask.firstElement());
		
		logger.debug( " copying " );
		ImgOps.copyInto(ev, ePatchImg);
		ImgOps.copyInto(fv, fPatchImg);
		logger.debug( " done copying " );
		
		logger.debug( " writing patches " );
		
		ImgOps.writeFloat( ePatchImg, 
				String.format("%s/patch_%03d_%s_.tif", debugDir, debugSuffix, i));
		
		ImgOps.writeFloat( fPatchImg, 
				String.format("%s/patch_%03d_match_%s_.tif",debugDir, debugSuffix, i));
		
		logger.debug( " done writing patches " );
	}
 
开发者ID:bogovicj,项目名称:hhmi-exp,代码行数:29,代码来源:EdgelMatching.java

示例6: testPca

import net.imglib2.img.imageplus.ImagePlusImgFactory; //导入依赖的package包/类
@Test
	public void testPca(){
	System.out.println("testPcaReg");
		
		int[] sz = new int[]{ 27,27,27 };
		double[] ctr = ArrayUtil.toDouble( PatchTools.patchSizeToMidpt( sz ));
		double[] sigs = new double[]{1, 10, 0.1};
//		double mint = -1;
//		double maxt = 1.5;
		double mint = -1;
		double maxt = 9e20;
		
		ImagePlusImgFactory<FloatType> factory = new ImagePlusImgFactory<FloatType>();
		
		Img<FloatType> img = ImgOps.createGaussianEllipseImg(factory, sz, ctr, sigs, mint, maxt, new FloatType());
		ImgOps.writeFloat(img, "/groups/jain/home/bogovicj/projects/crackPatching/toyData/ellipseImg.tif");

		AffineTransform3D xfm = TransformTools.rotationCentered(2, Math.PI/8, ctr);
		RealTransformRandomAccessible<FloatType, InverseRealTransform> imgXfm = 
				TransformTools.xfmToView(xfm, 
						Views.extendZero(img), new NLinearInterpolatorFactory<FloatType>());

		ImagePlusImg<FloatType, ?> imgXfmOut = factory.create(img, img.firstElement());
		ImgOps.copyInto( imgXfm, imgXfmOut);

		ImgMoment tgtMom = new ImgMoment();
		double[] tgtOr = tgtMom.orientation(imgXfmOut);
		tgtMom.orientationEvalsEvecs(tgtOr);
		
		System.out.println("tgt or: " + ArrayUtil.printArray(tgtOr));
		System.out.println("tgt cent: " + ArrayUtil.printArray(tgtMom.centroid()));
		
		
		DenseMatrix64F srcR = new DenseMatrix64F( 3, 3 );
		srcR.setData( tgtMom.getEvecs() );
		DenseMatrix64F srcMtx = TransformTools.rotationCenteredMtx(srcR, tgtMom.centroid());
	
	}
 
开发者ID:bogovicj,项目名称:hhmi-exp,代码行数:39,代码来源:TestPcaRotReg.java

示例7: display

import net.imglib2.img.imageplus.ImagePlusImgFactory; //导入依赖的package包/类
public static void display( final AbstractSpimData< ? > spimData, final ViewId viewId, final int pixelType, final String name, final boolean virtual )
{
	final ImgLoader imgLoader = (ImgLoader)spimData.getSequenceDescription().getImgLoader();
	final ImgFactory< ? extends NativeType< ? > > factory;
	final AbstractImgFactoryImgLoader il;

	// load as ImagePlus directly if possible
	if ( AbstractImgFactoryImgLoader.class.isInstance( imgLoader ) )
	{
		il = (AbstractImgFactoryImgLoader)imgLoader;
		factory = il.getImgFactory();
		il.setImgFactory( new ImagePlusImgFactory< FloatType >());
	}
	else
	{
		il = null;
		factory = null;
	}

	// display it
	DisplayImage export = new DisplayImage( virtual );
	
	if ( pixelType == 0 )
		export.exportImage( ((ImgLoader)spimData.getSequenceDescription().getImgLoader()).getSetupImgLoader( viewId.getViewSetupId() ).getFloatImage( viewId.getTimePointId(), false ), name );
	else
	{
		@SuppressWarnings( "unchecked" )
		RandomAccessibleInterval< UnsignedShortType > img =
			( RandomAccessibleInterval< UnsignedShortType > ) ((ImgLoader)spimData.getSequenceDescription().getImgLoader()).getSetupImgLoader( viewId.getViewSetupId() ).getImage( viewId.getTimePointId() );
		export.exportImage( img, name );
	}

	if ( factory != null && il != null )
		il.setImgFactory( factory );
}
 
开发者ID:fiji,项目名称:SPIM_Registration,代码行数:36,代码来源:Display_View.java

示例8: getImgFactory

import net.imglib2.img.imageplus.ImagePlusImgFactory; //导入依赖的package包/类
public < T extends ComplexType< T > & NativeType < T > > ImgFactory< T > getImgFactory( final T type )
{
	final ImgFactory< T > imgFactory;
	
	if ( this.getImgType() == 0 )
		imgFactory = new ArrayImgFactory< T >();
	else if ( this.getImgType() == 1 )
		imgFactory = new ImagePlusImgFactory< T >();
	else
		imgFactory = new CellImgFactory<T>( 256 );

	return imgFactory;
}
 
开发者ID:fiji,项目名称:SPIM_Registration,代码行数:14,代码来源:BoundingBoxGUI.java

示例9: createReRegisteredSeries

import net.imglib2.img.imageplus.ImagePlusImgFactory; //导入依赖的package包/类
public static < T extends RealType< T > & NativeType< T > > ImagePlus createReRegisteredSeries( final T targetType, final ImagePlus imp, final ArrayList<InvertibleBoundable> models, final int dimensionality )
{
	final int numImages = imp.getNFrames();

	// the size of the new image
	final int[] size = new int[ dimensionality ];
	// the offset relative to the output image which starts with its local coordinates (0,0,0)
	final double[] offset = new double[ dimensionality ];

	final int[][] imgSizes = new int[ numImages ][ dimensionality ];
	
	for ( int i = 0; i < numImages; ++i )
	{
		imgSizes[ i ][ 0 ] = imp.getWidth();
		imgSizes[ i ][ 1 ] = imp.getHeight();
		if ( dimensionality == 3 )
			imgSizes[ i ][ 2 ] = imp.getNSlices();
	}
	
	// estimate the boundaries of the output image and the offset for fusion (negative coordinates after transform have to be shifted to 0,0,0)
	Fusion.estimateBounds( offset, size, imgSizes, models, dimensionality );
			
	// for output
	final ImgFactory< T > f = new ImagePlusImgFactory< T >();
	// the composite
	final ImageStack stack = new ImageStack( size[ 0 ], size[ 1 ] );

	for ( int t = 1; t <= numImages; ++t )
	{
		for ( int c = 1; c <= imp.getNChannels(); ++c )
		{
			final Img<T> out = f.create( size, targetType );
			final Img< FloatType > in = ImageJFunctions.convertFloat( Hyperstack_rearranger.getImageChunk( imp, c, t ) );

			fuseChannel( out, Views.interpolate( Views.extendZero( in ), new NLinearInterpolatorFactory< FloatType >() ), offset, models.get( t - 1 ) );

			try
			{
				final ImagePlus outImp = ((ImagePlusImg<?,?>)out).getImagePlus();
				for ( int z = 1; z <= out.dimension( 2 ); ++z )
					stack.addSlice( imp.getTitle(), outImp.getStack().getProcessor( z ) );
			} 
			catch (ImgLibException e) 
			{
				Log.error( "Output image has no ImageJ type: " + e );
			}				
		}
	}
	
	//convertXYZCT ...
	ImagePlus result = new ImagePlus( "registered " + imp.getTitle(), stack );
	
	// numchannels, z-slices, timepoints (but right now the order is still XYZCT)
	if ( dimensionality == 3 )
	{
		result.setDimensions( size[ 2 ], imp.getNChannels(), imp.getNFrames() );
		result = OverlayFusion.switchZCinXYCZT( result );
		return CompositeImageFixer.makeComposite( result, CompositeImage.COMPOSITE );
	}
	//Log.info( "ch: " + imp.getNChannels() );
	//Log.info( "slices: " + imp.getNSlices() );
	//Log.info( "frames: " + imp.getNFrames() );
	result.setDimensions( imp.getNChannels(), 1, imp.getNFrames() );
	
	if ( imp.getNChannels() > 1 )
		return CompositeImageFixer.makeComposite( result, CompositeImage.COMPOSITE );
	return result;
}
 
开发者ID:fiji,项目名称:Stitching,代码行数:69,代码来源:OverlayFusion.java

示例10: main

import net.imglib2.img.imageplus.ImagePlusImgFactory; //导入依赖的package包/类
final static public void main( final String[] args )
	{
		long t;

//		final int[] samples = new int[ m ];
//		final double[][] coordinates = new double[ m ][ 2 ];
		
//		createPhyllotaxis1( samples, coordinates, size[ 0 ] / 2.0, size[ 1 ] / 2.0, 0.1 );
//		createPattern2( samples, coordinates, size[ 0 ] / 2.0, size[ 1 ] / 2.0, 20 );
		
//		final RealPointSampleList< UnsignedShortType > list = new RealPointSampleList< UnsignedShortType >( 2 );
//		for ( int i = 0; i < samples.length; ++i )
//			list.add( new RealPoint( coordinates[ i ] ), new UnsignedShortType( samples[ i ] ) );

		final RealPointSampleList< UnsignedShortType > list = new RealPointSampleList< UnsignedShortType >( 3 );

		createPhyllotaxis2( list, m, size[ 0 ] / 2.0, size[ 1 ] / 2.0, 20 );

		final ImagePlusImgFactory< UnsignedShortType > factory = new ImagePlusImgFactory< UnsignedShortType >();

		final KDTree< UnsignedShortType > kdtree = new KDTree< UnsignedShortType >( list );

		new ImageJ();

		
		IJ.log( "KDTree Search" );
		IJ.log( "=============" );
		
		/* nearest neighbor */
		IJ.log( "Nearest neighbor ..." );
		final ImagePlusImg< UnsignedShortType, ? > img4 = factory.create( new long[]{ size[ 0 ], size[ 1 ], 2 }, new UnsignedShortType() );
		t = drawNearestNeighbor(
				img4,
				new NearestNeighborSearchOnKDTree< UnsignedShortType >( kdtree ) );
		
		IJ.log( t + "ms " );
		
		try
		{
			final ImagePlus imp4 = img4.getImagePlus();
			imp4.setOpenAsHyperStack( true );
			final CompositeImage impComposite = new CompositeImage( imp4, CompositeImage.COMPOSITE );
			impComposite.show();
			impComposite.setSlice( 1 );
			IJ.run( impComposite, "Grays", "" );
			impComposite.setDisplayRange( 0, m - 1 );
			impComposite.setSlice( 2 );
			impComposite.setDisplayRange( 0, 2 );
			impComposite.updateAndDraw();
			IJ.log( "Done." );
		}
		catch ( final ImgLibException e )
		{
			IJ.log( "Didn't work out." );
			e.printStackTrace();
		}
	}
 
开发者ID:imglib,项目名称:imglib2-tests,代码行数:58,代码来源:KNearestNeighborSearchPhyllotaxisBehavior.java

示例11: testPcaReg

import net.imglib2.img.imageplus.ImagePlusImgFactory; //导入依赖的package包/类
@Test
	public void testPcaReg(){
		
		System.out.println("testPcaReg");
		
		int[] sz = new int[]{ 27,27,27 };
		double[] ctr = ArrayUtil.toDouble( PatchTools.patchSizeToMidpt( sz ));
		double[] sigs = new double[]{1, 10, 0.1};
//		double mint = -1;
//		double maxt = 1.5;
		double mint = -1;
		double maxt = 9e20;
		
		ImagePlusImgFactory<FloatType> factory = new ImagePlusImgFactory<FloatType>();
		
		Img<FloatType> img = ImgOps.createGaussianEllipseImg(factory, sz, ctr, sigs, mint, maxt, new FloatType());
		ImgOps.writeFloat(img, "/groups/jain/home/bogovicj/projects/crackPatching/toyData/ellipseImg.tif");

		AffineTransform3D xfm = TransformTools.rotationCentered(2, Math.PI/8, ctr);
		RealTransformRandomAccessible<FloatType, InverseRealTransform> imgXfm = 
				TransformTools.xfmToView(xfm, 
						Views.extendZero(img), new NLinearInterpolatorFactory<FloatType>());

		ImagePlusImg<FloatType, ?> imgXfmOut = factory.create(img, img.firstElement());
		ImgOps.copyInto( imgXfm, imgXfmOut);
		ImgOps.writeFloat(imgXfmOut, "/groups/jain/home/bogovicj/projects/crackPatching/toyData/ellipseImgXfm.tif");
		
		
		AffineTransform xfmEst = TransformTools.rotationPca( imgXfmOut, img);
		System.out.println("xfmEst:\n" + TransformTools.printAffineTransform(xfmEst));
		
//		AffineTransform xfmCat = xfmEst.preConcatenate(xfm);
//		System.out.println("xfmCat:\n" + TransformTools.printAffineTransform(xfmCat));
		
		
		RealTransformRandomAccessible<FloatType, InverseRealTransform> img2XfmXfm = 
				TransformTools.xfmToView( xfmEst, 
						Views.extendZero(imgXfmOut), new NLinearInterpolatorFactory<FloatType>());
		
		ImagePlusImg<FloatType, ?> img2xfmxfmout = factory.create(img, img.firstElement());
		ImgOps.copyInto( img2XfmXfm, img2xfmxfmout);
		ImgOps.writeFloat(img2xfmxfmout, "/groups/jain/home/bogovicj/projects/crackPatching/toyData/ellipseImg2XfmInv.tif");
		
		
		System.out.println("done");
		assertTrue(true);
		
	}
 
开发者ID:bogovicj,项目名称:hhmi-exp,代码行数:49,代码来源:TestPcaRotReg.java

示例12: parseAdditionalParameters

import net.imglib2.img.imageplus.ImagePlusImgFactory; //导入依赖的package包/类
@Override
public boolean parseAdditionalParameters( final GenericDialog gd )
{
	defaultFFTImgType = gd.getNextChoiceIndex();

	if ( defaultFFTImgType == 0 )
		computeFactory = new ArrayImgFactory< FloatType >();
	else if ( defaultFFTImgType == 1 )
		computeFactory = new ImagePlusImgFactory< FloatType >();
	else
		computeFactory = new CellImgFactory< FloatType >( 256 );

	saveMemory = defaultSaveMemory = gd.getNextBoolean();
	defaultIterationType = gd.getNextChoiceIndex();

	if ( defaultIterationType == 0 )
		iterationType = PSFTYPE.OPTIMIZATION_II;
	else if ( defaultIterationType == 1 )
		iterationType = PSFTYPE.OPTIMIZATION_I;
	else if ( defaultIterationType == 2 )
		iterationType = PSFTYPE.EFFICIENT_BAYESIAN;
	else //if ( defaultIterationType == 3 )
		iterationType = PSFTYPE.INDEPENDENT;

	defaultWeightType = gd.getNextChoiceIndex();

	if ( defaultWeightType == 0 )
		weightType = WeightType.PRECOMPUTED_WEIGHTS;
	else if ( defaultWeightType == 1 )
		weightType = WeightType.VIRTUAL_WEIGHTS;
	else if ( defaultWeightType == 2 )
		weightType = WeightType.NO_WEIGHTS;
	else
		weightType = WeightType.WEIGHTS_ONLY;

	osemspeedupIndex = defaultOSEMspeedupIndex = gd.getNextChoiceIndex();
	numIterations = defaultNumIterations = (int)Math.round( gd.getNextNumber() );
	debugMode = defaultDebugMode = gd.getNextBoolean();
	adjustBlending = defaultAdjustBlending = gd.getNextBoolean();
	useTikhonovRegularization = defaultUseTikhonovRegularization = gd.getNextBoolean();
	lambda = defaultLambda = gd.getNextNumber();
	blockSizeIndex = defaultBlockSizeIndex = gd.getNextChoiceIndex();
	computationTypeIndex = defaultComputationTypeIndex = gd.getNextChoiceIndex();
	extractPSFIndex = defaultExtractPSF = gd.getNextChoiceIndex();
	displayPSF = defaultDisplayPSF = gd.getNextChoiceIndex();

	return true;
}
 
开发者ID:fiji,项目名称:SPIM_Registration,代码行数:49,代码来源:EfficientBayesianBased.java


注:本文中的net.imglib2.img.imageplus.ImagePlusImgFactory类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。