本文整理汇总了Java中nom.tam.fits.Header.getDoubleValue方法的典型用法代码示例。如果您正苦于以下问题:Java Header.getDoubleValue方法的具体用法?Java Header.getDoubleValue怎么用?Java Header.getDoubleValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nom.tam.fits.Header
的用法示例。
在下文中一共展示了Header.getDoubleValue方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getMasks
import nom.tam.fits.Header; //导入方法依赖的package包/类
/**
* reeturn the physical data value
* @param mask
* @return
*/
private short[] getMasks(Header header, short[] mask){
short[] sMask = new short[mask.length];
double bscale = header.getDoubleValue("BSCALE", 1.0);
double bzero = header.getDoubleValue("BZERO", 0.0);
for (int i = 0; i < mask.length; i++) {
sMask[i] = (short) (mask[i] * bscale + bzero);
}
return sMask;
}
示例2: getCoefs
import nom.tam.fits.Header; //导入方法依赖的package包/类
/** Get the coefficients for a given prefix (A,B, AP, BP) */
private double[] getCoefs(Header h, String prefix, int order) {
double[] coefs = new double[order+1];
for (int y=0; y<=order; y += 1) {
int x = order-y;
coefs[y] = h.getDoubleValue(prefix+x+"_"+y);
}
return coefs;
}
示例3: parseScanPrimaryHDU
import nom.tam.fits.Header; //导入方法依赖的package包/类
public void parseScanPrimaryHDU(BasicHDU<?> hdu) throws HeaderCardException {
Header header = hdu.getHeader();
// Load any options based on the FITS header...
instrument.setFitsHeaderOptions(header);
fitsVersion = header.getStringValue("FITSVER");
if(fitsVersion.length() == 0) fitsVersion = null;
// Source Information
String sourceName = header.getStringValue("OBJECT");
if(sourceName == null) sourceName = descriptor;
setSourceName(sourceName);
setSerial(header.getIntValue("SCAN", -1));
project = header.getStringValue("PROJID");
// GBT 79:50:23.406 W, 38:25:59.236 N
site = new GeodeticCoordinates(
-(79 * Unit.deg + 50 * Unit.arcmin + 23.406 * Unit.arcsec),
38 * Unit.deg + 25 * Unit.arcmin + 59.236 * Unit.arcsec
);
// or use SITELON / SITELAT from FITS?...
timeStamp = header.getStringValue("DATE-OBS");
String date = timeStamp.substring(0, timeStamp.indexOf('T'));
String startTime = timeStamp.substring(timeStamp.indexOf('T') + 1);
id = date + "." + getSerial();
equatorial = new EquatorialCoordinates(
header.getDoubleValue("RA0") * Unit.hourAngle,
header.getDoubleValue("DEC0") * Unit.deg,
CoordinateEpoch.J2000
);
info("[" + sourceName + "] of project " + project + " observed on " + date + " at " + startTime);
info("Equatorial: " + equatorial.toString());
if(hasOption("tau")) {
zenithTau = option("tau").getDouble();
info("Using tau: " + Util.f3.format(zenithTau));
}
else if(header.containsKey("TAUZ")) {
zenithTau = header.getDoubleValue("TAUZ");
info("Zenith tau from skydip: " + Util.f3.format(zenithTau));
}
else {
warning("No tau in FITS, or specified. No extinction correction.");
}
}
示例4: parseScanPrimaryHDU
import nom.tam.fits.Header; //导入方法依赖的package包/类
public void parseScanPrimaryHDU(BasicHDU<?> hdu) throws HeaderCardException, FitsException {
Header header = hdu.getHeader();
// Platform
String platform = header.getStringValue("PLATFORM");
if(platform == null) platform = "Cassegrain";
mount = platform.equalsIgnoreCase("NASMYTH") ? Mount.RIGHT_NASMYTH : Mount.CASSEGRAIN;
info(mount.name + " mount assumed.");
rotatorZeroAngle = header.getDoubleValue("ROTZERO", Double.NaN) * Unit.deg;
rotatorAngle = header.getDoubleValue("ROTATOR", rotatorZeroAngle / Unit.deg) * Unit.deg;
rotatorOffset = header.getDoubleValue("ROTOFFST", 0.0) * Unit.deg;
rotatorMode = header.getStringValue("ROTMODE");
if(rotatorMode == null) rotatorMode = "Unknown";
// Various fixes for premature FITS files, without valid rotator information
// These typically have 1000 values.
if(rotatorZeroAngle == 1000.0 * Unit.deg) {
rotatorZeroAngle = 16.0 * Unit.deg;
info(">>> Fix: missing rotator zero angle set to 16.0 deg.");
}
if(rotatorAngle == 1000.0 * Unit.deg) {
rotatorAngle = Double.NaN;
info(">>> Fix: missing rotator angle..");
}
if(rotatorOffset == 1000.0 * Unit.deg) {
rotatorOffset = 0.0;
info(">>> Fix: assuming no rotator offset.");
}
// Focus
focusX = header.getDoubleValue("FOCUS_X") * Unit.mm;
focusY = header.getDoubleValue("FOCUS_Y") * Unit.mm;
focusZ = header.getDoubleValue("FOCUS_Z") * Unit.mm;
focusYOffset = header.getDoubleValue("FOCUS_YO") * Unit.mm;
focusZOffset = header.getDoubleValue("FOCUS_ZO") * Unit.mm;
focusMode = header.getStringValue("FOCMODE");
if(focusMode == null) focusMode = "Unknown";
info("Focus [" + focusMode + "]"
+ " X=" + Util.f2.format(focusX / Unit.mm)
+ " Y=" + Util.f2.format(focusY / Unit.mm)
+ " Z=" + Util.f2.format(focusZ / Unit.mm)
+ " Yoff=" + Util.f2.format(focusYOffset / Unit.mm)
+ " Zoff=" + Util.f2.format(focusZOffset / Unit.mm)
);
// DSOS
dsosUsed = header.getBooleanValue("DSOS");
dsosVersion = header.getStringValue("DSOSVER");
if(dsosUsed) info("DSOS version " + dsosVersion);
}
示例5: getHeader
import nom.tam.fits.Header; //导入方法依赖的package包/类
private Header getHeader(String headerFile) throws Exception {
byte[] buf = new byte[80];
Header h = new Header();
java.io.DataInputStream in;
headerFile = Util.replacePrefix(headerFile, urlPrefixes);
if (headerFile.startsWith("http:")) {
in = new java.io.DataInputStream(
new java.io.BufferedInputStream(
new java.net.URL(headerFile).openStream() ) );
} else {
in = new java.io.DataInputStream(
new java.io.BufferedInputStream(
new java.io.FileInputStream(headerFile) ) );
}
nom.tam.util.Cursor c = h.iterator();
while (true) {
in.readFully(buf);
String s = new String(buf);
HeaderCard hc = new HeaderCard(s);
String key = hc.getKey();
if (!key.equals("") && !key.equals("COMMENT") && !key.equals("HISTORY")) {
c.add(hc.getKey(), hc);
}
if (s.substring(0, 4).equals("END ")) {
break;
}
}
// Putting an offset of 1 matches the results with the
// old SkyView pages. This gets some support when we
// download cutouts from the ST image server which seems
// to have an offset also.
//
// Note that this is only for the old DSS headers.
// The new ones have CNPIX1/2 = 0
if (h.getDoubleValue("CNPIX1") == 1 &&
h.getDoubleValue("CNPIX2") == 1) {
h.addValue("CNPIX1", 0, null);
h.addValue("CNPIX2", 0, null);
}
return h;
}
示例6: parseScanPrimaryHDU
import nom.tam.fits.Header; //导入方法依赖的package包/类
public void parseScanPrimaryHDU(BasicHDU<?> hdu) throws HeaderCardException {
Header header = hdu.getHeader();
// nReadouts = header.getIntValue("NROACHES", 1);
focus = header.getDoubleValue("LFCY", Double.NaN) * Unit.mm;
}