本文整理汇总了Java中mpicbg.spim.data.registration.ViewRegistrations类的典型用法代码示例。如果您正苦于以下问题:Java ViewRegistrations类的具体用法?Java ViewRegistrations怎么用?Java ViewRegistrations使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ViewRegistrations类属于mpicbg.spim.data.registration包,在下文中一共展示了ViewRegistrations类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: FusionResult
import mpicbg.spim.data.registration.ViewRegistrations; //导入依赖的package包/类
public FusionResult(
final String filepath,
final String filepattern,
final TimePoints timepoints,
final int numSlices,
final double sliceValueMin,
final double sliceValueMax,
final Map< Integer, AffineTransform3D > perTimePointFusionTransforms )
{
final HashMap< Integer, Integer > setupIdToChannelId = new HashMap<>();
setupIdToChannelId.put( 0, 0 );
final ImgLoader fusionLoader = new FusionImageLoader<>( filepath +"/" + filepattern, setupIdToChannelId, numSlices, new FusionImageLoader.Gray32ImagePlusLoader(), sliceValueMin, sliceValueMax );
final int setupId = 0;
final String name = "fused";
final int timepointId = timepoints.getTimePointsOrdered().get( 0 ).getId();
final Dimensions size = fusionLoader.getSetupImgLoader( setupId ).getImageSize( timepointId );
final VoxelDimensions voxelSize = fusionLoader.getSetupImgLoader( setupId ).getVoxelSize( timepointId );
final BasicViewSetup setup = new BasicViewSetup( setupId, name, size, voxelSize );
desc = new SequenceDescriptionMinimal( timepoints, Entity.idMap( Arrays.asList( setup ) ), fusionLoader, null );
final ArrayList< ViewRegistration > registrations = new ArrayList<>();
for ( final TimePoint timepoint : timepoints.getTimePointsOrdered() )
registrations.add( new ViewRegistration( timepoint.getId(), 0, perTimePointFusionTransforms.get( timepoint.getId() ) ) );
regs = new ViewRegistrations( registrations );
}
示例2: setModelToCalibration
import mpicbg.spim.data.registration.ViewRegistrations; //导入依赖的package包/类
public static void setModelToCalibration( final SpimData spimData, final ViewId viewId, final double minResolution )
{
setModelToIdentity( spimData, viewId );
final ViewRegistrations viewRegistrations = spimData.getViewRegistrations();
final ViewRegistration r = viewRegistrations.getViewRegistration( viewId );
final ViewDescription viewDescription = spimData.getSequenceDescription().getViewDescription(
viewId.getTimePointId(), viewId.getViewSetupId() );
VoxelDimensions voxelSize = ViewSetupUtils.getVoxelSizeOrLoad( viewDescription.getViewSetup(), viewDescription.getTimePoint(), spimData.getSequenceDescription().getImgLoader() );
final double calX = voxelSize.dimension( 0 ) / minResolution;
final double calY = voxelSize.dimension( 1 ) / minResolution;
final double calZ = voxelSize.dimension( 2 ) / minResolution;
final AffineTransform3D m = new AffineTransform3D();
m.set( calX, 0.0f, 0.0f, 0.0f,
0.0f, calY, 0.0f, 0.0f,
0.0f, 0.0f, calZ, 0.0f );
final ViewTransform vt = new ViewTransformAffine( "calibration", m );
r.preconcatenateTransform( vt );
}
示例3: numReorientated
import mpicbg.spim.data.registration.ViewRegistrations; //导入依赖的package包/类
protected Pair< Integer, Integer > numReorientated()
{
final ViewRegistrations vrs = spimData.getViewRegistrations();
int isReorientated = 0;
int sumViews = 0;
for ( final ViewId viewId : viewIdsToProcess )
{
final ViewDescription vd = spimData.getSequenceDescription().getViewDescription( viewId );
if ( !vd.isPresent() )
continue;
final ViewRegistration vr = vrs.getViewRegistration( viewId );
final ViewTransform vt = vr.getTransformList().get( 0 );
++sumViews;
if ( vt.hasName() && vt.getName().startsWith( reorientationDescription ) )
++isReorientated;
}
return new ValuePair< Integer, Integer >( isReorientated, sumViews );
}
示例4: createViewRegistrations
import mpicbg.spim.data.registration.ViewRegistrations; //导入依赖的package包/类
public static ViewRegistrations createViewRegistrations()
{
final HashMap< ViewId, ViewRegistration > registrations = new HashMap< ViewId, ViewRegistration >();
registrations.put( new ViewId( 21, 1 ), new ViewRegistration( 21, 1 ) );
final AffineTransform3D t00 = new AffineTransform3D();
t00.set( 1, 0, 0, 1.3, 0, 1, 0, 1.3, 0, 0, 1, 2.3 );
registrations.put( new ViewId( 1, 0 ), new ViewRegistration( 0, 0, t00 ) );
final ArrayList< ViewTransform > list = new ArrayList< ViewTransform >();
list.add( new ViewTransformAffine( null, t00 ) );
list.add( new ViewTransformAffine( "identity", new AffineTransform3D() ) );
registrations.put( new ViewId( 41, 1 ), new ViewRegistration( 41, 1, list ) );
final ViewRegistrations viewRegistrations = new ViewRegistrations( registrations );
return viewRegistrations;
}
示例5: filterNonOverlappingPairs
import mpicbg.spim.data.registration.ViewRegistrations; //导入依赖的package包/类
/**
*
* @param pairs list of potentially overlapping pairs of view groups, this will be modified!
* @param vrs the view registrations
* @param sd the sequence description
* @param <V> view id type
* @return list of the pairs that were removed
*/
public static <V extends ViewId> List< Pair< Group< V >, Group< V > > > filterNonOverlappingPairs(
List< Pair< Group< V >, Group< V > > > pairs,
final ViewRegistrations vrs,
final AbstractSequenceDescription< ?, ? extends BasicViewDescription< ? >, ? > sd
)
{
final List< Pair< Group< V >, Group< V > > > removedPairs = new ArrayList<>();
for (int i = pairs.size() - 1; i >= 0; i--)
{
final List<Set<V>> pairAsGroups = new ArrayList<>();
pairAsGroups.add( pairs.get( i ).getA().getViews() );
pairAsGroups.add( pairs.get( i ).getB().getViews() );
final BoundingBoxMaximalGroupOverlap< V > ibbd = new BoundingBoxMaximalGroupOverlap< V >(pairAsGroups, sd, vrs);
BoundingBox bb = ibbd.estimate( "max overlap" );
if (bb == null)
{
removedPairs.add( pairs.get( i ) );
pairs.remove( i );
}
}
return removedPairs;
}
示例6: getCopyWithMissingViews
import mpicbg.spim.data.registration.ViewRegistrations; //导入依赖的package包/类
public static SpimData2 getCopyWithMissingViews(SpimData data, Collection< ? extends ViewId > missingViews, boolean ignoreOldMissingViews)
{
final File basePath = data.getBasePath();
final ViewRegistrations viewRegistrations = data.getViewRegistrations();
final SequenceDescription sdOld = data.getSequenceDescription();
final List<ViewId> missingViewsList = new ArrayList<>( missingViews );
if (!ignoreOldMissingViews && sdOld.getMissingViews() != null )
sdOld.getMissingViews().getMissingViews().forEach( mv -> missingViewsList.add( mv ) );
final SequenceDescription sequenceDescription =
new SequenceDescription(
sdOld.getTimePoints(),
sdOld.getViewSetupsOrdered(),
sdOld.getImgLoader(),
new MissingViews( missingViewsList ) );
final ViewInterestPoints viewsInterestPoints = SpimData2.class.isInstance( data ) ? ((SpimData2)data).getViewInterestPoints() : new ViewInterestPoints();
if (!(SpimData2.class.isInstance( data )))
viewsInterestPoints.createViewInterestPoints( data.getSequenceDescription().getViewDescriptions() );
final BoundingBoxes boundingBoxes = SpimData2.class.isInstance( data ) ? ((SpimData2)data).getBoundingBoxes() : new BoundingBoxes();
final PointSpreadFunctions psfs = SpimData2.class.isInstance( data ) ? ((SpimData2)data).getPointSpreadFunctions() : new PointSpreadFunctions();
final StitchingResults stitchingResults = SpimData2.class.isInstance( data ) ? ((SpimData2)data).getStitchingResults() : new StitchingResults();
final SpimData2 dataNew = new SpimData2( basePath, sequenceDescription, viewRegistrations, viewsInterestPoints, boundingBoxes, psfs, stitchingResults );
return dataNew;
}
示例7: createModel
import mpicbg.spim.data.registration.ViewRegistrations; //导入依赖的package包/类
protected Model createModel( final File tgmmFolder, final SpimDataMinimal spimData, final int setupID, final RealInterval interval, final int tFrom, final int tTo )
{
final SequenceDescriptionMinimal seq = spimData.getSequenceDescription();
final ViewRegistrations regs = spimData.getViewRegistrations();
final List< AffineTransform3D > transforms = new ArrayList< AffineTransform3D >( seq.getTimePoints().size() );
for ( final TimePoint t : seq.getTimePoints().getTimePointsOrdered() )
{
transforms.add( regs.getViewRegistration( t.getId(), setupID ).getModel() );
}
final TGMMImporter2 importer = new TGMMImporter2( tgmmFolder, transforms, TGMMImporter2.DEFAULT_PATTERN, logger, interval, tFrom, tTo );
if ( !importer.checkInput() || !importer.process() )
{
logger.error( importer.getErrorMessage() );
}
final Model model = importer.getResult();
/*
* Hack to set the POSITION_T feature of imported spots.
*/
final Settings settings = new Settings();
settings.dt = 1;
final TrackMate trackmate = new TrackMate( model, settings );
final ResetSpotTimeFeatureAction action = new ResetSpotTimeFeatureAction();
action.execute( trackmate );
return model;
}
示例8: pickTransform
import mpicbg.spim.data.registration.ViewRegistrations; //导入依赖的package包/类
protected List< AffineTransform3D > pickTransform( final SpimDataMinimal spimData, final int setupID )
{
final SequenceDescriptionMinimal seq = spimData.getSequenceDescription();
final ViewRegistrations regs = spimData.getViewRegistrations();
final List< AffineTransform3D > transforms = new ArrayList< AffineTransform3D >( seq.getTimePoints().size() );
for ( final TimePoint t : seq.getTimePoints().getTimePointsOrdered() )
{
transforms.add( regs.getViewRegistration( t.getId(), setupID ).getModel() );
}
return transforms;
}
示例9: preConcatenateTransform
import mpicbg.spim.data.registration.ViewRegistrations; //导入依赖的package包/类
public static void preConcatenateTransform( final SpimData spimData, final ViewId viewId, final AffineTransform3D model, final String name )
{
final ViewRegistrations viewRegistrations = spimData.getViewRegistrations();
// update the view registration
final ViewRegistration vr = viewRegistrations.getViewRegistration( viewId );
final ViewTransform vt = new ViewTransformAffine( name, model );
vr.preconcatenateTransform( vt );
}
示例10: assembleRegistrationNames
import mpicbg.spim.data.registration.ViewRegistrations; //导入依赖的package包/类
public static HashMap< String, Integer > assembleRegistrationNames( final SpimData data, final List< ViewId > viewIds )
{
final ViewRegistrations vr = data.getViewRegistrations();
final SequenceDescription sd = data.getSequenceDescription();
final HashMap< String, Integer > names = new HashMap< String, Integer >();
for ( final ViewId viewId: viewIds )
{
final ViewDescription vd = sd.getViewDescription( viewId );
if ( !vd.isPresent() )
continue;
final ViewRegistration r = vr.getViewRegistration( vd );
final String rName = r.getTransformList().get( 0 ).getName();
if ( rName != null )
{
if ( names.containsKey( rName ) )
names.put( rName, names.get( rName ) + 1 );
else
names.put( rName, 1 );
}
}
return names;
}
示例11: createDataset
import mpicbg.spim.data.registration.ViewRegistrations; //导入依赖的package包/类
@Override
public SpimData2 createDataset()
{
// collect all the information
if ( !queryInformation() )
return null;
// assemble timepints, viewsetups, missingviews and the imgloader
final TimePoints timepoints = this.createTimePoints();
final ArrayList< ViewSetup > setups = this.createViewSetups();
final MissingViews missingViews = this.createMissingViews();
// instantiate the sequencedescription
final SequenceDescription sequenceDescription = new SequenceDescription( timepoints, setups, null, missingViews );
final ImgLoader imgLoader = createAndInitImgLoader( ".", new File( directory ), imgFactory, sequenceDescription );
sequenceDescription.setImgLoader( imgLoader );
// get the minimal resolution of all calibrations
final double minResolution = Apply_Transformation.assembleAllMetaData(
sequenceDescription,
sequenceDescription.getViewDescriptions().values() );
IOFunctions.println( "Minimal resolution in all dimensions over all views is: " + minResolution );
IOFunctions.println( "(The smallest resolution in any dimension; the distance between two pixels in the output image will be that wide)" );
// create the initial view registrations (they are all the identity transform)
final ViewRegistrations viewRegistrations = createViewRegistrations( sequenceDescription.getViewDescriptions(), minResolution );
// create the initial view interest point object
final ViewInterestPoints viewInterestPoints = new ViewInterestPoints();
viewInterestPoints.createViewInterestPoints( sequenceDescription.getViewDescriptions() );
// finally create the SpimData itself based on the sequence description and the view registration
final SpimData2 spimData = new SpimData2( new File( directory ), sequenceDescription, viewRegistrations, viewInterestPoints, new BoundingBoxes() );
return spimData;
}
示例12: createViewRegistrations
import mpicbg.spim.data.registration.ViewRegistrations; //导入依赖的package包/类
/**
* Assembles the {@link ViewRegistration} object consisting of a list of {@link ViewRegistration}s for all {@link ViewDescription}s that are present
*
* @param viewDescriptionList
* @param minResolution - the smallest resolution in any dimension (distance between two pixels in the output image will be that wide)
* @return
*/
protected static ViewRegistrations createViewRegistrations( final Map< ViewId, ViewDescription > viewDescriptionList, final double minResolution )
{
final HashMap< ViewId, ViewRegistration > viewRegistrationList = new HashMap< ViewId, ViewRegistration >();
for ( final ViewDescription viewDescription : viewDescriptionList.values() )
if ( viewDescription.isPresent() )
{
final ViewRegistration viewRegistration = new ViewRegistration( viewDescription.getTimePointId(), viewDescription.getViewSetupId() );
final VoxelDimensions voxelSize = viewDescription.getViewSetup().getVoxelSize();
final double calX = voxelSize.dimension( 0 ) / minResolution;
final double calY = voxelSize.dimension( 1 ) / minResolution;
final double calZ = voxelSize.dimension( 2 ) / minResolution;
final AffineTransform3D m = new AffineTransform3D();
m.set( calX, 0.0f, 0.0f, 0.0f,
0.0f, calY, 0.0f, 0.0f,
0.0f, 0.0f, calZ, 0.0f );
final ViewTransform vt = new ViewTransformAffine( "calibration", m );
viewRegistration.preconcatenateTransform( vt );
viewRegistrationList.put( viewRegistration, viewRegistration );
}
return new ViewRegistrations( viewRegistrationList );
}
示例13: actionPerformed
import mpicbg.spim.data.registration.ViewRegistrations; //导入依赖的package包/类
@Override
public void actionPerformed( final ActionEvent e )
{
if ( panel == null )
{
IOFunctions.println( "Panel not set for " + this.getClass().getSimpleName() );
return;
}
//final AbstractSpimData< ? > data = (AbstractSpimData< ? >)panel.getSpimData();
final List< ViewId > viewIds = panel.selectedRowsViewId();
final ViewRegistrations vr = panel.getSpimData().getViewRegistrations();
for ( final ViewId viewId : viewIds )
{
final ViewRegistration v = vr.getViewRegistrations().get( viewId );
if ( index == 0 )
v.getTransformList().remove( 0 );
else
v.getTransformList().remove( v.getTransformList().size() - 1 );
v.updateModel();
}
panel.updateContent();
ViewSetupExplorerPanel.bdvPopup().updateBDV();
}
示例14: RegistrationTableModel
import mpicbg.spim.data.registration.ViewRegistrations; //导入依赖的package包/类
public RegistrationTableModel( final ViewRegistrations viewRegistrations, final RegistrationExplorerPanel panel )
{
this.columnNames = new ArrayList< String >();
this.panel = panel;
this.columnNames.add( "Transformation Name" );
for ( int row = 0; row < 3; ++row )
for ( int col = 0; col < 4; ++ col )
this.columnNames.add( "m" + row + "" + col );
this.viewRegistrations = viewRegistrations;
this.currentVD = null;
}
示例15: RegistrationExplorerPanel
import mpicbg.spim.data.registration.ViewRegistrations; //导入依赖的package包/类
public RegistrationExplorerPanel( final ViewRegistrations viewRegistrations, final RegistrationExplorer< ?, ? > explorer )
{
this.cache = new ArrayList< ViewTransform >();
this.explorer = explorer;
initComponent( viewRegistrations );
}