public void prepareWriteSequence(IIOMetadata streamMetadata) throws IOException { ImageOutputStream out = (ImageOutputStream) getOutput(); out.setByteOrder(ByteOrder.LITTLE_ENDIAN); out.writeShort(0x00004949); // 0: II = intel = little endian out.writeShort(42); // 2: version, magic value ifdptr = out.getStreamPosition(); // save position (4): write here later the offset to first ifd // (ifd linked list) out.writeInt(0); // 4: offset first Image File Directory // 8: header size }