public ReferenceTimepointRange( final TimePoint referenceTimepoint ) { this( referenceTimepoint.getId() ); }
@Override public boolean isPresent( final int t ) { return t >= 0 && t < timePointsOrdered.size() && !missingViews.contains( new ViewId( timePointsOrdered.get( t ).getId(), setupId ) ); }
public ReferenceTimepoint( final List< ViewId > views, final Set< Group< ViewId > > groups, final TimePoint referenceTimepoint ) { this( views, groups, referenceTimepoint.getId() ); }
public static int getBDVTimePointIndex( final TimePoint t, final AbstractSpimData< ? > data ) { final List< TimePoint > list = data.getSequenceDescription().getTimePoints().getTimePointsOrdered(); for ( int i = 0; i < list.size(); ++i ) if ( list.get( i ).getId() == t.getId() ) return i; return 0; }
public List< List< ViewId > > getIndividualSets( final List< ViewId > viewIds ) { final ArrayList< List< ViewId > > sets = new ArrayList<>(); for ( final TimePoint timepoint : SpimData2.getAllTimePointsSorted( data, viewIds ) ) { final ArrayList< ViewId > set = new ArrayList<>(); for ( final ViewId viewId : viewIds ) if ( viewId.getTimePointId() == timepoint.getId() ) set.add( viewId ); sets.add( set ); } return sets; } }
public static boolean setReferenceTimepoint( final TimePoints timepoints, final int referenceTimePoint ) { final TimePoint ref = timepoints.getTimePoints().get( referenceTimePoint ); if ( ref != null ) { final List< TimePoint > tps = timepoints.getTimePointsOrdered(); for ( int tp = 0; tp < tps.size(); ++tp ) { if ( tps.get( tp ).getId() == referenceTimePoint ) { Interest_Point_Registration.defaultReferenceTimepointIndex = tp; return true; } } } return false; }
public static ArrayList< ViewDescription > getAllViewIdsForTimePointSorted( final SpimData data, final Collection< ? extends ViewId > viewIds, final TimePoint timepoint ) { final ArrayList< ViewDescription > views = new ArrayList< ViewDescription >(); for ( final ViewId id : viewIds ) { final ViewDescription vd = data.getSequenceDescription().getViewDescription( id ); if ( vd.isPresent() && vd.getTimePointId() == timepoint.getId() ) views.add( vd ); } Collections.sort( views ); return views; }
public static ArrayList< ViewId > getAllViewIdsSorted( final SpimData data, final List< ? extends ViewSetup > setups, final List< ? extends TimePoint > tps ) { final ArrayList< ViewId > viewIds = new ArrayList< ViewId >(); for ( final TimePoint tp : tps ) for ( final ViewSetup vs : setups ) { final ViewId v = new ViewId( tp.getId(), vs.getId() ); final ViewDescription vd = data.getSequenceDescription().getViewDescription( v ); if ( vd.isPresent() ) viewIds.add( vd ); } Collections.sort( viewIds ); return viewIds; }
public static ArrayList< ViewDescription > getAllViewIdsForChannelTimePointSorted( final SpimData data, final Collection< ? extends ViewId > viewIds, final Channel channel, final TimePoint timePoint ) { final ArrayList< ViewDescription > views = new ArrayList< ViewDescription >(); for ( final ViewId id : viewIds ) { final ViewDescription vd = data.getSequenceDescription().getViewDescription( id ); if ( vd.isPresent() && vd.getViewSetup().getChannel().getId() == channel.getId() && id.getTimePointId() == timePoint.getId() ) views.add( vd ); } Collections.sort( views ); return views; }
public static ArrayList< Angle > getAllAnglesForChannelTimepointSorted( final SpimData data, final Collection< ? extends ViewId > viewIds, final Channel c, final TimePoint t ) { final HashSet< Angle > angleSet = new HashSet< Angle >(); for ( final ViewId v : viewIds ) { final ViewDescription vd = data.getSequenceDescription().getViewDescription( v ); if ( vd.isPresent() && v.getTimePointId() == t.getId() && vd.getViewSetup().getChannel().getId() == c.getId() ) angleSet.add( vd.getViewSetup().getAngle() ); } final ArrayList< Angle > angles = new ArrayList< Angle >(); angles.addAll( angleSet ); Collections.sort( angles ); return angles; }
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 ); }
public static ArrayList< Illumination > getAllIlluminationsForChannelTimepointSorted( final SpimData data, final Collection< ? extends ViewId > viewIds, final Channel c, final TimePoint t ) { final HashSet< Illumination > illumSet = new HashSet< Illumination >(); for ( final ViewId v : viewIds ) { final ViewDescription vd = data.getSequenceDescription().getViewDescription( v ); if ( vd.isPresent() && v.getTimePointId() == t.getId() && vd.getViewSetup().getChannel().getId() == c.getId() ) illumSet.add( vd.getViewSetup().getIllumination() ); } final ArrayList< Illumination > illums = new ArrayList< Illumination >(); illums.addAll( illumSet ); Collections.sort( illums ); return illums; }
public static void main( String args[] ) { new ImageJ(); IOFunctions.printIJLog = true; final LoadParseQueryXML lpq = new LoadParseQueryXML(); final ArrayList< String > queryFor = new ArrayList< String >(); queryFor.add( "Timepoint" ); queryFor.add( "channel" ); queryFor.add( "angle" ); queryFor.add( "Tile" ); queryFor.add( "illumination" ); lpq.queryXML( true, true, true, true, true ); for ( final TimePoint i : lpq.getTimePointsToProcess() ) System.out.println( i.getId() ); for ( final ViewSetup v : lpq.getViewSetupsToProcess() ) { System.out.println( v.getId() + " " + v.getAngle().getName() + " " + v.getChannel().getName() + " " + v.getIllumination().getName() ); } } }
protected String createUniqueName() { long idSum = 1; for ( final TimePoint t : getTimePointsToProcess() ) idSum *= t.getId(); for ( final BasicViewSetup v : getViewSetupsToProcess() ) idSum += v.getId(); long nano = System.nanoTime(); long millis = System.currentTimeMillis(); long finalHash = nano + millis + idSum; if ( debugRandomClusterHash ) { IOFunctions.println( "idsum=" + idSum ); IOFunctions.println( "nano=" + nano ); IOFunctions.println( "millis=" + millis ); IOFunctions.println( "final=" + finalHash ); } return "" + finalHash; }
/** * @param setup - the {@link BasicViewSetup} for which to get the Voxelsize * @param t - the {@link TimePoint} from which to load the Voxelsize * @param loader - the {@link ImgLoader} * @return - the Voxelsize for this {@link ViewSetup} */ public static VoxelDimensions getVoxelSizeOrLoad( final BasicViewSetup setup, final TimePoint t, final ImgLoader loader ) { if ( setup.hasVoxelSize() ) return setup.getVoxelSize(); else return loader.getSetupImgLoader( setup.getId() ).getVoxelSize( t.getId() ); }
/** * @param setup - the {@link BasicViewSetup} for which to get the image size * @param t - the {@link TimePoint} from which to load the image size * @param loader - the {@link ImgLoader} * @return - the image size of this {@link ViewSetup} */ public static Dimensions getSizeOrLoad( final BasicViewSetup setup, final TimePoint t, final ImgLoader loader ) { if ( setup.hasSize() ) return setup.getSize(); else return loader.getSetupImgLoader( setup.getId() ).getImageSize( t.getId() ); } }
public static void applyCal( final Cal maxCal, final SpimData spimData, final List< ViewId > viewIds ) { // this is the same for all timepoints, we are just interested in the ViewSetup final TimePoint t = spimData.getSequenceDescription().getTimePoints().getTimePointsOrdered().get( 0 ); for ( final ViewId viewId : viewIds ) { if ( viewId.getTimePointId() != t.getId() ) continue; final ViewDescription desc = spimData.getSequenceDescription().getViewDescriptions().get( viewId ); final ViewSetup viewSetup = desc.getViewSetup(); viewSetup.setVoxelSize( new FinalVoxelDimensions( maxCal.unit(), maxCal.getCal()[ 0 ], maxCal.getCal()[ 1 ], maxCal.getCal()[ 2 ] ) ); } }
public static final ArrayList< ViewDescription > assembleInputData( final SpimData2 spimData, final TimePoint timepoint, final Channel channel, final List< ViewId > viewIdsToProcess ) { final ArrayList< ViewDescription > inputData = new ArrayList< ViewDescription >(); for ( final ViewId viewId : viewIdsToProcess ) { final ViewDescription vd = spimData.getSequenceDescription().getViewDescription( viewId.getTimePointId(), viewId.getViewSetupId() ); if ( !vd.isPresent() || vd.getTimePointId() != timepoint.getId() || vd.getViewSetup().getChannel().getId() != channel.getId() ) continue; // get the most recent model spimData.getViewRegistrations().getViewRegistration( viewId ).updateModel(); inputData.add( vd ); } return inputData; }