当前位置: 首页>>代码示例>>Java>>正文


Java Header.iterator方法代码示例

本文整理汇总了Java中nom.tam.fits.Header.iterator方法的典型用法代码示例。如果您正苦于以下问题:Java Header.iterator方法的具体用法?Java Header.iterator怎么用?Java Header.iterator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在nom.tam.fits.Header的用法示例。


在下文中一共展示了Header.iterator方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: cloneHeader

import nom.tam.fits.Header; //导入方法依赖的package包/类
static Header cloneHeader(Header header) {
    // first collect cards from old header
    Cursor iter = header.iterator();
    String cards[] = new String[header.getNumberOfCards()];
    int i = 0;
    while (iter.hasNext()) {
        HeaderCard card = (HeaderCard) iter.next();
        cards[i] = card.toString();
        i++;
    }

    Header clonedHeader = new Header(cards);

    clonedHeader.resetOriginalSize();
    return clonedHeader;
}
 
开发者ID:lsst,项目名称:firefly,代码行数:17,代码来源:FitsRead.java

示例2: setHeaderCursor

import nom.tam.fits.Header; //导入方法依赖的package包/类
/**
 * Set the header to the end of the keywords
 **/
private void setHeaderCursor (Header header)
{
	
	//TODO This is a hack to push the header to the end. The front
	// of the header must be the basic header for the module to validate
	// correctly. Go to the of data. Changes to the fits module may
	// render this code useless or even incorrect.
	Cursor cursor = header.iterator();
	String key = "";
	while (cursor.hasNext())
	{
		key = ((HeaderCard)cursor.next()).getKey();
		// stop right after the field to try and keep column cards together
		if (key.equalsIgnoreCase("TFIELDS") && cursor.hasNext())
		{
			key = ((HeaderCard)cursor.next()).getKey();
			break;
		}
	}
	header.findCard (key);
	
}
 
开发者ID:ChandraCXC,项目名称:sedlib,代码行数:26,代码来源:FitsSerializer.java

示例3: editImageHeader

import nom.tam.fits.Header; //导入方法依赖的package包/类
@Override
public void editImageHeader(List<Scan<?,?>> scans, Header header) throws HeaderCardException {
    super.editImageHeader(scans, header);	

    int level = hasOption("calibrated") ? 3 : 2;
    // TODO if multiple mission IDs, then Level 4...

    Cursor<String, HeaderCard> c = FitsToolkit.endOf(header);
    
    // Add SOFIA processing keys
    c.add(new HeaderCard("COMMENT", "<------ SOFIA Data Processing Keys ------>", false));
    c.add(new HeaderCard("PROCSTAT", "LEVEL_" + level, SofiaProcessingData.getComment(level)));
    c.add(new HeaderCard("HEADSTAT", "UNKNOWN", "See original header values in the scan HDUs."));
    c.add(new HeaderCard("PIPELINE", "crush v" + CRUSH.getVersion(), "Software that produced this file."));
    c.add(new HeaderCard("PIPEVERS", "crush v" + CRUSH.getFullVersion(), "Full software version information.")); 
    c.add(new HeaderCard("PRODTYPE", "CRUSH-IMAGE", "Type of product produced by the software."));
    c.add(new HeaderCard("DATAQUAL", getQualityString(scans), "Lowest quality input scan."));

    // Add required keys and prior history
    c.add(new HeaderCard("COMMENT", "<------ SOFIA Additional Required Primary Header Keys ------>", false));

    // TODO workaround for updates...
    // -----------------------------------------------------------------------------------------------------
    Header required = new Header();
    ((SofiaScan<?,?>) scans.get(0)).addRequiredPrimaryHeaderKeysTo(required);
    updateMultiScanKeys(scans, required);

    Cursor<String, HeaderCard> from = required.iterator();
    while(from.hasNext()) c.add(from.next());
    // -----------------------------------------------------------------------------------------------------	
}
 
开发者ID:attipaci,项目名称:crush,代码行数:32,代码来源:SofiaCamera.java

示例4: getHeaderAsXML

import nom.tam.fits.Header; //导入方法依赖的package包/类
private static String getHeaderAsXML(Header header) {
    String nl = System.getProperty("line.separator");
    StringBuilder builder = new StringBuilder("<meta>").append(nl).append("<fits>").append(nl);

    for (Cursor<String, HeaderCard> iter = header.iterator(); iter.hasNext();) {
        HeaderCard headerCard = iter.next();
        if (headerCard.getValue() != null) {
            builder.append('<').append(headerCard.getKey()).append('>').append(headerCard.getValue()).append("</").append(headerCard.getKey()).append('>').append(nl);
        }
    }
    builder.append("</fits>").append(nl).append("</meta>");
    return builder.toString().replace("&", "&amp;");
}
 
开发者ID:Helioviewer-Project,项目名称:JHelioviewer-SWHV,代码行数:14,代码来源:FITSImage.java

示例5: getFitsHeaders

import nom.tam.fits.Header; //导入方法依赖的package包/类
public static DataGroup getFitsHeaders(Header headers, String name) {
    //if ( headers.getNumberOfCards() > 0) {
        DataType comment = new DataType("Comments", String.class);
        DataType keyword = new DataType("Keyword", String.class);
        DataType value = new DataType("Value", String.class);
        comment.getFormatInfo().setWidth(80);
        value.getFormatInfo().setWidth(80);
        keyword.getFormatInfo().setWidth(68);
        DataType[] types = new DataType[]{
                           new DataType("#", Integer.class),
                           keyword, value, comment };
        DataGroup dg = new DataGroup("Headers - " + name, types);

         int i=0;
        for (Cursor itr = headers.iterator(); itr.hasNext();) {
            HeaderCard hc = (HeaderCard) itr.next();
            if (hc.isKeyValuePair()) {
                DataObject row = new DataObject(dg);
                row.setDataElement(types[0], i++);
                row.setDataElement(types[1], hc.getKey());
                row.setDataElement(types[2], hc.getValue());
                row.setDataElement(types[3], hc.getComment());
                dg.add(row);
            }
        }
  return dg;
//}
}
 
开发者ID:lsst,项目名称:firefly,代码行数:29,代码来源:VisServerOps.java

示例6: clone_header

import nom.tam.fits.Header; //导入方法依赖的package包/类
static Header clone_header(Header header)
{
    // first collect cards from old header
    Cursor iter = header.iterator();
    String cards[] = new String[header.getNumberOfCards()];
    int i = 0;
    while (iter.hasNext())
    {
        HeaderCard card = (HeaderCard) iter.next();
        //System.out.println("RBH card.toString() = " + card.toString());
        cards[i] = card.toString();
        i++;
    }
    return(new Header(cards));
}
 
开发者ID:lsst,项目名称:firefly,代码行数:16,代码来源:Crop.java

示例7: importKeywords

import nom.tam.fits.Header; //导入方法依赖的package包/类
private void importKeywords(BasicHDU hdu) {
    Header newHdr = hdu.getHeader();
    Header oldHdr = getHeader();
    Cursor newC = newHdr.iterator();
    newC.setKey("END");
    Cursor oldC = oldHdr.iterator();
    oldC.setKey("NAXIS");
    while (oldC.hasNext()) {
        HeaderCard old = (HeaderCard) (oldC.next());
        String key = old.getKey();
        if (!reservedKeys.contains(key)) {
            newC.add(old);
        }
    }
}
 
开发者ID:jankotek,项目名称:asterope,代码行数:16,代码来源:TiledImageHDU.java

示例8: createParamInfoTable

import nom.tam.fits.Header; //导入方法依赖的package包/类
/**
 * Loop over the metadata associated with the columns (ucd, utype, etc.)
 * and create a table (information type x column number).
 */
private String[][] createParamInfoTable( Header header, int listSize)
{
    Cursor cursor = header.iterator();
    String key;

    // create a table for the utype, name, ucd, unit
    String[][] paramInfo = new String[ParamInfoKeys.size][listSize];
    ParamInfoKeys index;
    String pos;

    for (int ii=0; ii<4; ii++)
        for (int jj=0; jj<listSize; jj++)
            paramInfo[ii][jj] = null;

    while (cursor.hasNext())
    {
        HeaderCard card = (HeaderCard) cursor.next();

        key = card.getKey();

        // look to see if it's a relevant keyword
        index = this.getDataKeyword (key);

        // skip any of non-param keywords
        if ((index == ParamInfoKeys.INVALID) || 
            (index == ParamInfoKeys.FORM))
            continue;

        // find the appropriate index into the array
        if (index == ParamInfoKeys.UCD)
           pos = key.substring (4);
        else
           pos = key.substring (5);

        paramInfo[index.ordinal ()][Integer.valueOf (pos)-1] = card.getValue();
    }

    return paramInfo;
}
 
开发者ID:ChandraCXC,项目名称:sedlib,代码行数:44,代码来源:FitsMapper.java

示例9: 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;
   }
 
开发者ID:jankotek,项目名称:asterope,代码行数:46,代码来源:DSSImage.java

示例10: TiledImageHDU

import nom.tam.fits.Header; //导入方法依赖的package包/类
/**
 * Create a tiled image HDU from an existing Image HDU.
 */
public TiledImageHDU(ImageHDU input, Map<String, String> parameters) throws FitsException,
        IOException {
    super(coreHeader(), nilData());

    hdr = getHeader();  // Get a local reference to the Header.
    String comp = parameters.get("compression");

    imageSize = input.getAxes();
    naxis = imageSize.length;
    if (naxis == 0 || imageSize[0] == 0) {
        throw new FitsException("Cannot compress nil image");
    }
    String tiling = parameters.get("tiling");
    if (tiling == null) {
        tiling = imageSize[0] + "";
        for (int i = 1; i < imageSize.length; i += 1) {
            tiling += ",1";
        }
    }
    String[] fields = tiling.split(",");
    if (fields.length != imageSize.length) {
        throw new FitsException("Tile dimensionality (" + fields.length + ") must match image (" + imageSize.length + ")");
    }
    tileSize = new int[imageSize.length];
    for (int i = 0; i < imageSize.length; i += 1) {
        tileSize[i] = Integer.parseInt(fields[i].trim());
    }

    Header old = input.getHeader();
    // Position the insertion pointer after the TFORM1.
    hdr.getStringValue("TFORM1");


    cs = getCompression(comp);
    insertTileKeywords(old, cs, parameters, imageSize, tileSize);

    Object kern = input.getKernel();

    int bitpix = old.getIntValue("BITPIX");
    zbitpix = bitpix;
    if (bitpix < 0) {
        RealStats rs = new RealStats(kern);
        double offset = rs.min;
        double scale = rs.noise3 / 16;
        double bits = Math.log((rs.max - rs.min) / scale) / Math.log(2);
        insertQuantizerKeywords(offset, scale);
        if (bits > 30) {
            throw new IllegalStateException("Cannot quantize image, noise too large");
        }

        quant = new Quantizer(scale, offset);
    }


    Cursor newPointer = hdr.iterator();
    newPointer.setKey("END");
    Cursor oldPointer = old.iterator();
    oldPointer.setKey("BITPIX");

    copyOldKeywords(oldPointer, newPointer);
    TileLooper tl = new TileLooper(imageSize, tileSize);
    cs.initialize(parameters);
    populateData(kern, bitpix, tl, cs);
}
 
开发者ID:jankotek,项目名称:asterope,代码行数:68,代码来源:TiledImageHDU.java


注:本文中的nom.tam.fits.Header.iterator方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。