@Override public boolean inRange( final V view1, final V view2 ) { // if one of the views is a reference timepoint or if they are from the same timepoint (fixed views are discarded later) if ( view1.getTimePointId() == referenceTimepoint || view2.getTimePointId() == referenceTimepoint || view1.getTimePointId() == view2.getTimePointId() ) return true; else return false; }
@Override public boolean inRange( final V view1, final V view2 ) { if ( Math.abs( view2.getTimePointId() - view1.getTimePointId() ) <= maxDistance ) return true; else return false; } }
public static ArrayList< Integer > getAllTimePointsSortedUnchecked( final Collection< ? extends ViewId > viewIds ) { final HashSet< Integer > timepointSet = new HashSet< Integer >(); for ( final ViewId vd : viewIds ) timepointSet.add( vd.getTimePointId() ); final ArrayList< Integer > timepoints = new ArrayList< Integer >(); timepoints.addAll( timepointSet ); Collections.sort( timepoints ); return timepoints; }
public static ArrayList< Integer > getAllTimePointsSortedWithoutPresenceCheck( final Collection< ? extends ViewId > vds ) { final HashSet< Integer > timepointSet = new HashSet< Integer >(); for ( final ViewId vd : vds ) timepointSet.add( vd.getTimePointId() ); final ArrayList< Integer > timepoints = new ArrayList< Integer >(); timepoints.addAll( timepointSet ); Collections.sort( timepoints ); return timepoints; }
@Override public ArrayList< ViewId > getDefaultFixedViews() { final ArrayList< ViewId > fixed = new ArrayList<>(); for ( final ViewId viewId : views ) if ( viewId.getTimePointId() == rangeComparator.getReferenceTimepointId() ) fixed.add( viewId ); return fixed; }
/** * A group of ViewIds that represents itself as the first ViewId * * @param group - the ViewIds */ public GroupedViews( final List< ViewId > group ) { super( group.get( 0 ).getTimePointId(), group.get( 0 ).getViewSetupId() ); this.group = group; }
public static String createPSFFileName( final ViewId viewId ) { return "psf_t" + viewId.getTimePointId() + "_v" + viewId.getViewSetupId() + ".tif"; } }
public ViewLevelId( final ViewId viewId, final int level ) { this.timepointId = viewId.getTimePointId(); this.setupId = viewId.getViewSetupId(); this.level = level; }
public static String getGroupPath( final ViewId viewId, final int level ) { return String.format( groupFormatString, viewId.getTimePointId(), viewId.getViewSetupId(), level ); }
/** * Does this partition contain the given {@link ViewId view} * (timepoint-setup pair)? * * @param viewId * view (timepoint and setup id wrt. the full sequence) * @return whether this partition contains the given view. */ public boolean contains( final ViewId viewId ) { return timepointIdSequenceToPartition.containsKey( viewId.getTimePointId() ) && setupIdSequenceToPartition.containsKey( viewId.getViewSetupId() ); }
public static String pvids( final ViewId viewId ) { return viewId.getTimePointId() + "-" + viewId.getViewSetupId(); } @SuppressWarnings("unchecked")
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; } }
@Override public RandomAccessibleInterval< UnsignedShortType > getImage( final ViewId view ) { try { final Img< UnsignedShortType > img = openCZI( new UnsignedShortType(), view ); if ( img == null ) throw new RuntimeException( "Could not load '" + cziFile + "' viewId=" + view.getViewSetupId() + ", tpId=" + view.getTimePointId() ); return img; } catch ( Exception e ) { throw new RuntimeException( "Could not load '" + cziFile + "' viewId=" + view.getViewSetupId() + ", tpId=" + view.getTimePointId() + ": " + e ); } }
@SuppressWarnings({ "unchecked", "rawtypes" }) public static < T extends RealType< T > > RandomAccessibleInterval< T > getImage( final T type, ImgLoader imgLoader, final ViewId view, final boolean normalize ) { if ( (RealType)type instanceof FloatType ) return (RandomAccessibleInterval)imgLoader.getSetupImgLoader( view.getViewSetupId() ).getFloatImage( view.getTimePointId(), normalize, LOAD_COMPLETELY ); else if ( (RealType)type instanceof UnsignedShortType ) return (RandomAccessibleInterval)imgLoader.getSetupImgLoader( view.getViewSetupId() ).getImage( view.getTimePointId(), LOAD_COMPLETELY ); else return null; }
public AffineTransform3D getCroppedTransform( final ViewId view ) { final Pair< ?, AffineTransform3D > pair = getSetupImgLoader( view.getViewSetupId() ).cropView( view.getTimePointId() ); return pair.getB(); }
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; }
protected Element affineModel1dToXml( final ViewId viewId, final AffineModel1D model ) { final Element elem = new Element( INTENSITYADJ_TAG ); elem.setAttribute( INTENSITYADJ_TIMEPOINT_ATTRIBUTE_NAME, Integer.toString( viewId.getTimePointId() ) ); elem.setAttribute( INTENSITYADJ_SETUP_ATTRIBUTE_NAME, Integer.toString( viewId.getViewSetupId() ) ); final double[] values = new double[ 2 ]; model.toArray( values ); elem.addContent( XmlHelpers.doubleArrayElement( INTENSITYADJ_VALUE_TAG, values ) ); return elem; } }
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 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; }
@Override protected void loadMetaData( final ViewId view ) { try { final MultipageTiffReader r = new MultipageTiffReader( mmFile ); updateMetaDataCache( view, r.width(), r.height(), r.depth(), r.calX(), r.calY(), r.calZ() ); r.close(); } catch ( Exception e ) { IOFunctions.println( "Failed to load metadata for viewsetup=" + view.getViewSetupId() + " timepoint=" + view.getTimePointId() + ": " + e ); e.printStackTrace(); } }