for ( int a = 0; a < rotations.length; ++a ) final Angle angle = new Angle( a, String.valueOf( rotations[ a ] ) ); angle.setRotation( axis, degrees );
angles.add( new Angle( a, angleNameList.get( a ) ) ); t.setLocation( locations.get( new ViewSetupPrecursor( c.getId(), i.getId(), a.getId(), t.getId() ) ) ); final Calibration cal = calibrations.get( new ViewSetupPrecursor( c.getId(), i.getId(), a.getId(), t.getId() ) ); final VoxelDimensions voxelSize = new FinalVoxelDimensions( cal.calUnit, cal.calX, cal.calY, cal.calZ );
public static Pair<Double, Integer> getRoatationFromMetadata(Angle a) { if (!isUnitVector( a.getRotationAxis() )) return null; final Double rotRadians = a.getRotationAngleDegrees() / 180 * Math.PI; final Integer axis = getRotationAxisFromUnitVector( a.getRotationAxis() ); return new ValuePair< Double, Integer >( rotRadians, axis ); }
for ( int a = 0; a < meta.numAngles(); ++a ) final Angle angle = new Angle( a, meta.angles()[ a ] ); angle.setRotation( axis, degrees ); final Dimensions dim = new FinalDimensions( meta.imageSizes().get( a.getId() ) ); viewSetups.add( new ViewSetup( viewSetups.size(), null, dim, voxelSize, c, a, i ) );
text += attrib + " " + a.getName() + " (id=" + a.getId() + ")"; if ( a.hasRotation() ) text += ", Rotation Axis " + Util.printCoordinates( a.getRotationAxis() ) + ", Rotation Angle " + a.getRotationAngleDegrees();
public static ArrayList< ViewSetup > createViewSetupsFromImgLoader(SimulatedBeadsImgLoader2 imgLoader) { final ArrayList< ViewSetup > viewSetups = new ArrayList< ViewSetup >(); SimulateBeads2 sb = imgLoader.getSimulateBeads(); int vid = 0; for (int a : new ArrayList<>(sb.angleTransforms.keySet()).stream().sorted().collect( Collectors.toList() )) for (int channel : new ArrayList<>(sb.channelTransforms.keySet()).stream().sorted().collect( Collectors.toList() )) for (int illum : new ArrayList<>(sb.illumTransforms.keySet()).stream().sorted().collect( Collectors.toList() )) for (int tile : new ArrayList<>(sb.tileTransforms.keySet()).stream().sorted().collect( Collectors.toList() )) { final VoxelDimensions voxelSize = new FinalVoxelDimensions( "pixels", 1, 1, 1 ); final Dimensions dim = imgLoader.getSimulateBeads().getImg( 0, a, channel, tile, illum ); viewSetups.add( new ViewSetup( vid++, Integer.toString( vid ), dim, voxelSize, new Tile(tile), new Channel(channel), new Angle(a), new Illumination(illum) ) ); } return viewSetups; }
vOut.setVoxelSize( v.getVoxelSize() ); if ( !vOut.getAngle().hasRotation() && v.getAngle().hasRotation() ) vOut.getAngle().setRotation( v.getAngle().getRotationAxis(), v.getAngle().getRotationAngleDegrees() );
public static ViewSetup getViewSetup( final List< ? extends ViewSetup > list, final Channel c, final Angle a, final Illumination i, final Tile x ) { for ( final ViewSetup viewSetup : list ) { if ( viewSetup.getAngle().getId() == a.getId() && viewSetup.getChannel().getId() == c.getId() && viewSetup.getIllumination().getId() == i.getId() && viewSetup.getTile().getId() == x.getId() ) { return viewSetup; } } return null; }
final double[] axis = a.getRotationAxis(); if ( axis != null ) if ( !Double.isNaN( a.getRotationAngleDegrees() ) ) defaultDegrees[ j ] = a.getRotationAngleDegrees(); else defaultDegrees[ j ] = Double.parseDouble( a.getName() );
if ( a.hasRotation() ) final double[] axis = a.getRotationAxis(); final double degrees = -a.getRotationAngleDegrees(); final Transform3D t = new Transform3D(); final String d;
protected ArrayList< ViewSetup > createViewSetups( final DHMMetaData meta ) { final ArrayList< Channel > channels = new ArrayList< Channel >(); channels.add( new Channel( meta.getAmpChannelId(), meta.getAmplitudeDir() ) ); channels.add( new Channel( meta.getPhaseChannelId(), meta.getPhaseDir() ) ); final ArrayList< Illumination > illuminations = new ArrayList< Illumination >(); illuminations.add( new Illumination( 0, String.valueOf( 0 ) ) ); final ArrayList< Angle > angles = new ArrayList< Angle >(); angles.add( new Angle( 0, String.valueOf( 0 ) ) ); final ArrayList< ViewSetup > viewSetups = new ArrayList< ViewSetup >(); for ( final Channel c : channels ) for ( final Illumination i : illuminations ) for ( final Angle a : angles ) { final VoxelDimensions voxelSize = new FinalVoxelDimensions( meta.calUnit, meta.calX, meta.calY, meta.calZ ); final Dimensions dim = new FinalDimensions( new long[]{ meta.getWidth(), meta.getHeight(), meta.getDepth() } ); viewSetups.add( new ViewSetup( viewSetups.size(), null, dim, voxelSize, c, a, i ) ); } return viewSetups; }
/** * find ViewSetup index corresponding to given (angle, illumination, * channel) triple. * * @return setup index or -1 if no corresponding setup was found. */ protected static int getViewSetupId( final ArrayList< ViewSetup > setups, final int angle, final int illumination, final int channel ) { for ( final ViewSetup s : setups ) if ( s.getAngle().getId() == angle && s.getIllumination().getId() == illumination && s.getChannel().getId() == channel ) return s.getId(); return -1; }
final double[] axis = a.getRotationAxis(); final double degrees = -a.getRotationAngleDegrees();
for ( int a = 0; a < meta.numAngles(); ++a ) final Angle angle = new Angle( a, meta.rotationAngle( a ) ); angle.setRotation( axis, degrees );
angleList.add( new Angle( a, angleNameList.get( a ) ) ); for ( final Tile x : tileList ) final Calibration cal = calibrations.get( new ViewSetupPrecursor( c.getId(), i.getId(), a.getId(), x.getId(), channelNameList, illuminationsNameList, angleNameList, tileNameList ) ); final VoxelDimensions voxelSize = new FinalVoxelDimensions( cal.calUnit, cal.calX, cal.calY, cal.calZ ); viewSetups.add( new ViewSetup( viewSetups.size(), null, null, voxelSize, x, c, a, i ) );
e = new Angle( 0 ); viewSetup.setAttribute( e );
protected String[] assembleAngles( final List< Angle > angles ) { final String[] as = new String[ angles.size() ]; for ( int t = 0; t < as.length; ++t ) as[ t ] = angles.get( t ).getName(); return as; }