本文整理汇总了Java中nom.tam.fits.Header.getStringValue方法的典型用法代码示例。如果您正苦于以下问题:Java Header.getStringValue方法的具体用法?Java Header.getStringValue怎么用?Java Header.getStringValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nom.tam.fits.Header
的用法示例。
在下文中一共展示了Header.getStringValue方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: parseHeader
import nom.tam.fits.Header; //导入方法依赖的package包/类
@Override
public void parseHeader(Header header) throws Exception {
if(header.containsKey("INSTRUME")) {
instrument = Instrument.forName(header.getStringValue("INSTRUME"));
if(instrument == null) instrument = new GenericInstrument(header.getStringValue("INSTRUME"));
}
else instrument = new GenericInstrument("unknown");
if(instrument instanceof GenericInstrument) {
GenericInstrument generic = (GenericInstrument) instrument;
if(header.containsKey("TELESCOP")) generic.setTelescopeName(header.getStringValue("TELESCOP"));
else generic.setTelescopeName("unknown");
}
if(instrument.getOptions() == null) instrument.setOptions(new Configurator());
instrument.parseImageHeader(header);
}
示例2: getParameters
import nom.tam.fits.Header; //导入方法依赖的package包/类
public Map<String, String> getParameters(Header hdr) {
Map<String,String> params = new HashMap<String, String>();
int i = 1;
while (hdr.containsKey("ZNAME" + i)) {
String key = hdr.getStringValue("ZNAME" + i);
key = key.toUpperCase();
if (key.equals("BLOCKSIZE")) {
params.put("block", "" + hdr.getIntValue("ZVAL" + i) + "");
} else if (key.equals("BYTEPIX")) {
params.put("bitpix", 8 * hdr.getIntValue("ZVAL" + i) + "");
}
i += 1;
}
if (!params.containsKey("bitpix")) {
params.put("bitpix", hdr.getIntValue("ZBITPIX")+"");
}
return params;
}
示例3: addIntegrationsFrom
import nom.tam.fits.Header; //导入方法依赖的package包/类
@Override
public void addIntegrationsFrom(BasicHDU<?>[] HDU) throws Exception {
ArrayList<BinaryTableHDU> dataHDUs = new ArrayList<BinaryTableHDU>();
for(int i=1; i<HDU.length; i++) if(HDU[i] instanceof BinaryTableHDU) {
Header header = HDU[i].getHeader();
String extName = header.getStringValue("EXTNAME");
if(extName.equalsIgnoreCase("Timestream")) dataHDUs.add((BinaryTableHDU) HDU[i]);
}
HawcPlusIntegration integration = this.getIntegrationInstance();
integration.read(dataHDUs);
add(integration);
}
示例4: backgroundWork
import nom.tam.fits.Header; //导入方法依赖的package包/类
@Override
protected PfssData backgroundWork() {
try (NetClient nc = NetClient.of(url); Fits fits = new Fits(nc.getStream())) {
BasicHDU<?> hdus[] = fits.read();
if (hdus == null || hdus.length < 2 || !(hdus[1] instanceof BinaryTableHDU))
throw new Exception("Could not read FITS: " + url);
BinaryTableHDU bhdu = (BinaryTableHDU) hdus[1];
Header header = bhdu.getHeader();
String dateFits = header.getStringValue("DATE-OBS");
if (dateFits == null)
throw new Exception("DATE-OBS not found: " + url);
JHVDate date = new JHVDate(dateFits);
if (time != date.milli)
throw new Exception("Inconsistent DATE-OBS. Expected " + new JHVDate(time) + ", got " + date + ": " + url);
int points = header.getIntValue("HIERARCH.POINTS_PER_LINE");
if (points == 0)
throw new Exception("POINTS_PER_LINE not found: " + url);
short[] flinex = (short[]) bhdu.getColumn("FIELDLINEx");
short[] fliney = (short[]) bhdu.getColumn("FIELDLINEy");
short[] flinez = (short[]) bhdu.getColumn("FIELDLINEz");
short[] flines = (short[]) bhdu.getColumn("FIELDLINEs");
if (flinex.length != fliney.length || flinex.length != flinez.length || flinex.length != flines.length)
throw new Exception("Fieldline arrays not equal " + flinex.length + " " + fliney.length + " " + flinez.length + " " + flinex.length + ": " + url);
return new PfssData(date, flinex, fliney, flinez, flines, points);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
示例5: getDateValueFromServiceFits
import nom.tam.fits.Header; //导入方法依赖的package包/类
public static String getDateValueFromServiceFits(String headerKey, Header header) {
long currentYear = Math.round(Math.floor(System.currentTimeMillis()/1000/3600/24/365.25) +1970);
long year;
String dateValue= header.getStringValue(headerKey);
if (headerKey.equals("ORDATE")) {
if (dateValue.length()>5) {
dateValue= dateValue.subSequence(0,2)+"-"+dateValue.subSequence(2,4)+"-"+
dateValue.subSequence(4,6);
year = 2000+Integer.parseInt(dateValue.subSequence(0,2).toString());
if (year > currentYear) {
dateValue = "19"+dateValue;
} else {
dateValue = "20"+dateValue;
}
}
} else if (headerKey.equals("DATE-OBS")) {
dateValue = dateValue.split("T")[0];
if (dateValue.contains("/")) {
String newDate = "";
for (String v: dateValue.split("/")) {
if (newDate.length()==0) {
newDate = v;
} else {
newDate = v + "-" + newDate;
}
}
year = 2000+Integer.parseInt(newDate.subSequence(0,2).toString());
if (year > currentYear) {
dateValue = "19"+newDate;
} else {
dateValue = "20"+newDate;
}
}
} else if (headerKey.equals("MIDOBS")) {
dateValue = dateValue.split("T")[0];
} else if (headerKey.equals("DATEIRIS")) {
dateValue = "1983";
}
return dateValue;
}
示例6: 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.");
}
}
示例7: 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);
}