�������4�
����
��	��	��@�������
��	���	��	���	��	��	��	��	��	�����������	���������	��
��
��
��
���
��
�������
��
��
��
�#�
�#��������
�,�
�,�
������
��
��
�1�
�1�
�0�
�#�

�
�0
�=
	

�@
�@	�
�
�
�


�
�
�

�P
�PM
 !
"#P$@o������
%
�P&'
()
*
�P+,.
�#/
01
23	�45678
�j9
�#:
�;
<=
>?
@A	@B
@	@CDE
�uF
�uGH
�uI6J
>K	@L
�M	@NOP6QR
0S
�T
0U
�#V
WX
WY
�
Z[
���\	��]
�c^
_`
_a
_b
_c
_d
_e
_f
_g
hi
hT
_j
_k
lm
_no
�upq
�ur
�Ms
��9t
uv
�wx
�
y
�
z
�
{
�
|}
��
�
~
�
�����
���������
����
���
���
���
��s
��s�
��	���
���
���
���
���
���
���
���
��
�c�
���
���
���
���
����
����
���
���
��I�
�
��
�M9	���
u���
��
��
������InnerClasses�logger�Lorg/slf4j/Logger;�rawDataType�NumericDataType�4Lgov/nasa/pds/objectAccess/DataType$NumericDataType;�targetPixelBitDepth�I�targetLevels�
colorModel� Ljava/awt/image/IndexColorModel;�
bufferedImage�Ljava/awt/image/BufferedImage;�	imageType�maximizeDynamicRange�Z�
exportType�Ljava/lang/String;�pdsImage�-Lgov/nasa/arc/pds/xml/generated/Array3DImage;�lineDirectionDown�sampleDirectionRight�firstIndexFastest�
scalingFactor�D�valueOffset�dataMin�dataMax�fitRaster_R�Ljava/awt/image/WritableRaster;�fitRaster_G�fitRaster_B�<init>�c(Lgov/nasa/arc/pds/xml/generated/FileAreaObservational;Lgov/nasa/pds/objectAccess/ObjectProvider;)V�Code�LineNumberTable�LocalVariableTable�this�/Lgov/nasa/pds/objectAccess/ThreeDImageExporter;�fileArea�6Lgov/nasa/arc/pds/xml/generated/FileAreaObservational;�provider�*Lgov/nasa/pds/objectAccess/ObjectProvider;�
Exceptions�(Ljava/io/File;I)V�label�Ljava/io/File;�
fileAreaIndex�(Ljava/net/URL;I)V�Ljava/net/URL;�setImageType�()V�
StackMapTable�convert�(Ljava/io/OutputStream;I)V�outputStream�Ljava/io/OutputStream;�objectIndex�	imageList�Ljava/util/List;�LocalVariableTypeTable�?Ljava/util/List<Lgov/nasa/arc/pds/xml/generated/Array3DImage;>;�F(Lgov/nasa/arc/pds/xml/generated/Array3DImage;Ljava/io/OutputStream;)V�axis�*Lgov/nasa/arc/pds/xml/generated/AxisArray;�i�array3DImage�lines�samples�bands�bufferedInputStream�Ljava/io/BufferedInputStream;�scanline_stride�band_offsets�[I�bank_indices�dataBufferType�sampleModel�Ljava/awt/image/SampleModel;�Ljava/awt/image/ColorModel;�"Ljavax/imageio/ImageTypeSpecifier;������6��
�
scaleImage�>(Ljava/awt/image/BufferedImage;)Ljava/awt/image/BufferedImage;�v�pbMaxMin�*Ljava/awt/image/renderable/ParameterBlock;�extrema�Ljavax/media/jai/RenderedOp;�allMins�[D�allMaxs�minValue�maxValue�subtractThis�
multiplyBy�planarImage�Ljavax/media/jai/PlanarImage;�pbSub�pbMult���toDisplayableImage�	pbConvert�setImageElementsDataType�0(Lgov/nasa/arc/pds/xml/generated/Array3DImage;)V�e�Ljava/lang/Exception;�array3dImage�setImageStatistics�ignore� Ljava/lang/NullPointerException;�lineDir�%Lgov/nasa/pds/label/DisplayDirection;�	sampleDir�ds�0Lgov/nasa/arc/pds/xml/generated/DisplaySettings;��D�flexReadToRaster�A(Ljava/io/BufferedInputStream;Ljava/awt/image/BufferedImage;III)V�value�b�x�y�xWrite�yWrite�m�inputStream�raster�
countBytes�si�(Lcom/sun/media/jai/codec/SeekableStream;��n��writeRasterImage�7(Ljava/io/OutputStream;Ljava/awt/image/BufferedImage;)V�message�Ljava/io/IOException;�bi�flip�!(Ljava/awt/image/BufferedImage;)V�tmp�j�image�
writeFitsFile�hdu�Lnom/tam/fits/ImageHDU;�bdos�'Lnom/tam/util/BufferedDataOutputStream;�Lnom/tam/fits/FitsException;�f�Lnom/tam/fits/Fits;}��
writeLabel�+(Ljava/io/OutputStream;Ljava/lang/String;)V�labelGenerator�5Lgov/nasa/pds/objectAccess/VicarSystemLabelGenerator;�cols�rows�
imageToPdsDom�$Ljpl/mipl/io/plugins/ImageToPDS_DOM;�type����
getColorModel�"()Ljava/awt/image/IndexColorModel;�
setColorModel�#(Ljava/awt/image/IndexColorModel;)V�getTargetPixelDepth�()I�setTargetPixelDepth�(I)V�targetPixelDepth�getRawDataType�6()Lgov/nasa/pds/objectAccess/DataType$NumericDataType;�setRawDataType�7(Lgov/nasa/pds/objectAccess/DataType$NumericDataType;)V�()Z�(Z)V�dynamicRangeScaling�
getExportType�()Ljava/lang/String;�
setExportType�(Ljava/lang/String;)V�imageWriters�Ljava/util/Iterator;�1Ljava/util/Iterator<Ljavax/imageio/ImageWriter;>;�isSampleDirectionRight�setSampleDirectionRight�isFirstIndexFastest�setFirstIndexFastest�getArray3DImage�/()Lgov/nasa/arc/pds/xml/generated/Array3DImage;�setArray3DImage�img�+(Ljava/lang/Object;Ljava/io/OutputStream;)V��	Signature�|Lgov/nasa/pds/objectAccess/ImageExporter;Lgov/nasa/pds/objectAccess/Exporter<Lgov/nasa/arc/pds/xml/generated/Array3DImage;>;�
SourceFile�ThreeDImageExporter.java
�-gov/nasa/pds/objectAccess/ThreeDImageExporter�������������������java/awt/image/BufferedImage���������PNG������������java/lang/Double�����������������+gov/nasa/arc/pds/xml/generated/Array3DImage�`��!*������������(gov/nasa/arc/pds/xml/generated/AxisArray��������java/io/BufferedInputStream�java/net/URL����������������������java/awt/image/DataBuffer� java/awt/image/BandedSampleModel����� javax/imageio/ImageTypeSpecifier�������opHI]I�VICAR���PDS3�����java/lang/Exception����(java/awt/image/renderable/ParameterBlock	�minimum�
�maximum
�
subtractconst�
multiplyconst�format�2gov/nasa/pds/objectAccess/DataType$NumericDataType������2Array data type is not valid, null, or unsupported�"java/lang/IllegalArgumentException�� �!"#$��%&'h(h�java/lang/NullPointerException�java/lang/StringBuilder�^Cannot find vertical_display_direction element in the Display_Direction area with identifier ')*�'.+��,�-h��.h�`Cannot find horizontal_display_direction element in the Display_Direction area with identifier '�*No display settings found for identifier '/��WNo display settings found. Missing local_identifier element in the Array_3D_Image area.0123415678191:;�1com/sun/media/jai/codec/MemoryCacheSeekableStream�fits<6=��>?@�A�BCD�ECF�G�HIJKL3�MN�java/io/IOException�EOF at byte number: )O�inputFile: )PQ�rawRST���Error writing to output streamU�V�WXYZ�nom/tam/fits/Fits[\]^_`ab�nom/tam/fits/ImageHDU�NAXIS�NUMBER OF AXEScd�NAXIS1�NUMBER OF COLUMNS�NAXIS2�NUMBER OF ROWS�NAXIS3�NUMBER OF BANDSef�%nom/tam/util/BufferedDataOutputStreamgSh�nom/tam/fits/FitsException�3gov/nasa/pds/objectAccess/VicarSystemLabelGenerator�����BSQi�j�k�l�mnonpn��q�r�s�t�u�vg�"jpl/mipl/io/plugins/ImageToPDS_DOMw�!jpl/mipl/io/plugins/DOMtoPDSlabelxyz�ASCII{|S}�Unsupported label type: �����.Supported pixel bit depths are 8 and 16 and 24~�The export image type � is not currently supported._`d`�'gov/nasa/pds/objectAccess/ImageExporter�"gov/nasa/pds/objectAccess/Exporter�/gov/nasa/pds/objectAccess/ThreeDImageExporter$1�java/io/OutputStream�java/util/Iterator�java/awt/image/SampleModel�java/awt/image/ColorModel�javax/media/jai/RenderedOp�.gov/nasa/arc/pds/xml/generated/DisplaySettings�#gov/nasa/pds/label/DisplayDirection�java/awt/image/WritableRaster�&com/sun/media/jai/codec/SeekableStream�java/lang/Throwable�java/lang/String�&jpl/mipl/io/vicar/AlreadyOpenException�/gov/nasa/pds/objectAccess/InvalidTableException�org/slf4j/LoggerFactory�	getLogger�%(Ljava/lang/Class;)Lorg/slf4j/Logger;�java/lang/Math�pow�(DD)D�java/io/File�toURI�()Ljava/net/URI;�java/net/URI�toURL�()Ljava/net/URL;�getObjectProvider�,()Lgov/nasa/pds/objectAccess/ObjectProvider;�getObservationalFileArea�8()Lgov/nasa/arc/pds/xml/generated/FileAreaObservational;�(gov/nasa/pds/objectAccess/ObjectProvider�getArray3DImages�H(Lgov/nasa/arc/pds/xml/generated/FileAreaObservational;)Ljava/util/List;�java/util/List�get�(I)Ljava/lang/Object;�getAxes�getAxisArraies�()Ljava/util/List;�iterator�()Ljava/util/Iterator;�hasNext�next�()Ljava/lang/Object;�getSequenceNumber�getElements�()Ljava/math/BigInteger;�java/math/BigInteger�
intValueExact�getRoot�4gov/nasa/arc/pds/xml/generated/FileAreaObservational�getFile�'()Lgov/nasa/arc/pds/xml/generated/File;�#gov/nasa/arc/pds/xml/generated/File�getFileName�#(Ljava/net/URL;Ljava/lang/String;)V�
openStream�()Ljava/io/InputStream;�(Ljava/io/InputStream;)V�	getOffset�)()Lgov/nasa/arc/pds/xml/generated/Offset;�%gov/nasa/arc/pds/xml/generated/Offset�getValue�longValueExact�()J�skip�(J)J�(IIII[I[I)V�javax/media/jai/PlanarImage�createColorModel�9(Ljava/awt/image/SampleModel;)Ljava/awt/image/ColorModel;�:(Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)V�createBufferedImage�"(II)Ljava/awt/image/BufferedImage;�equals�(Ljava/lang/Object;)Z�equalsIgnoreCase�(Ljava/lang/String;)Z�close�	addSource�>(Ljava/lang/Object;)Ljava/awt/image/renderable/ParameterBlock;�javax/media/jai/JAI�create�Z(Ljava/lang/String;Ljava/awt/image/renderable/ParameterBlock;)Ljavax/media/jai/RenderedOp;�getProperty�&(Ljava/lang/String;)Ljava/lang/Object;�wrapRenderedImage�=(Ljava/awt/image/RenderedImage;)Ljavax/media/jai/PlanarImage;�add�s(Ljava/lang/String;Ljava/awt/image/renderable/ParameterBlock;Ljava/awt/RenderingHints;)Ljavax/media/jai/RenderedOp;�getAsBufferedImage� ()Ljava/awt/image/BufferedImage;�-(I)Ljava/awt/image/renderable/ParameterBlock;�"gov/nasa/pds/objectAccess/DataType�getElementArray�/()Lgov/nasa/arc/pds/xml/generated/ElementArray;�+gov/nasa/arc/pds/xml/generated/ElementArray�getDataType�java/lang/Enum�valueOf�5(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;�org/slf4j/Logger�error�*(Ljava/lang/String;Ljava/lang/Throwable;)V�getLocalIdentifier�getDisplaySettings�D(Ljava/lang/String;)Lgov/nasa/arc/pds/xml/generated/DisplaySettings;�getDisplayDirection�3()Lgov/nasa/arc/pds/xml/generated/DisplayDirection;�/gov/nasa/arc/pds/xml/generated/DisplayDirection�getVerticalDisplayDirection�getDirectionFromValue�9(Ljava/lang/String;)Lgov/nasa/pds/label/DisplayDirection;�
BOTTOM_TO_TOP�
TOP_TO_BOTTOM�append�-(Ljava/lang/String;)Ljava/lang/StringBuilder;�toString�getHorizontalDisplayDirection�
RIGHT_TO_LEFT�
LEFT_TO_RIGHT�info�getScalingFactor�()Ljava/lang/Double;�doubleValue�()D�getValueOffset�getObjectStatistics�3()Lgov/nasa/arc/pds/xml/generated/ObjectStatistics;�/gov/nasa/arc/pds/xml/generated/ObjectStatistics�
getMinimum�
getMaximum�	getRaster�!()Ljava/awt/image/WritableRaster;�=$SwitchMap$gov$nasa$pds$objectAccess$DataType$NumericDataType�ordinal�readByte�()B�readUnsignedByte�readUnsignedShortLE�readShortLE�()S�readUnsignedShort�	readShort�readUnsignedInt�readLong�)com/google/common/primitives/UnsignedLong�.(J)Lcom/google/common/primitives/UnsignedLong;�	readFloat�()F�
readDouble�	setSample�(IIID)V�(I)Ljava/lang/StringBuilder;�-(Ljava/lang/Object;)Ljava/lang/StringBuilder;�printStackTrace�javax/imageio/ImageIO�write�I(Ljava/awt/image/RenderedImage;Ljava/lang/String;Ljava/io/OutputStream;)Z�getWidth�	getHeight�getRGB�(II)I�setRGB�(III)V�getData�()Ljava/awt/image/Raster;�java/awt/image/Raster�getDataElements�*(IIIILjava/lang/Object;)Ljava/lang/Object;�nom/tam/fits/FitsFactory�
HDUFactory�+(Ljava/lang/Object;)Lnom/tam/fits/BasicHDU;�addValue�((Ljava/lang/String;ILjava/lang/String;)V�addHDU�(Lnom/tam/fits/BasicHDU;)V�(Ljava/io/OutputStream;)V�(Ljava/io/DataOutput;)V�set_org�set_nb�set_nl�set_ns�set_binc�(D)V�set_linc�set_sinc�
getVicarAlias�set_datatype�set_tileHeight�
set_tileWidth�set_pixelStride�generateFile�!(Ljava/awt/image/RenderedImage;)V�getDocument�()Lorg/w3c/dom/Document;�(Lorg/w3c/dom/Document;)V�getBytes�(Ljava/lang/String;)[B�([B)V�getImageWritersByFormatName�((Ljava/lang/String;)Ljava/util/Iterator;�!������������������������������������������������������������������������������������������������������������	����
	����	��� ��
����������^*+,��*����*��*�*��������	*
��*��*
��*��*��*��*��*��*���*����������>����v��\��c��d�%�g�+�h�0�i�6�k�;�l�@�m�E�n�J�o�O�p�V�q�]�x��� ����^�����^����^�������������O�����
*+�������������
����{��|��� ����
�����
����
��������M������������^*+��*����*��*�*��������	*
��*��*
��*��*��*��*��*��*���*����������>������\��c��d�%�g�+�h�0�i�6�k�;�l�@�m�E�n�J�o�O�p�V�q�]����� ����^�����^����^��������M�����u�����0*���������+���������������%*
����	*��������������� ���&���)���/���������0�� ���� �!"����������&*��*�� ��!�N*-��"���#��$**��%+��&�������������������%�����*����&�����&#$����&%�����&'�(������&)��������!*���7����c*+��$>66+��'��\+��(��)�:��*���G��+���,:��-����.��/6��"��-����.��/>��
��.��/6�����0Y��1Y*����2�*�� ��3��4��5��6��7:+��8��9��:��;X6�
:�
:	6

��
O	

O�
���6
��=Y
	��>:��?:��@Y��A:
*
��B��C**��C��D***��C��E��C***��C��F��C*��G��H��*��I��J��*,*��K��L��:*,*��C��N,��O��GPS�M������&�����������
���
������6���?���L���U���a���k���n���w��������������������������������������������������������������#��/��G��P��S��U��^��b��������6�5+,����-���
��c����c.�����c#$��\/����
Y0����
V1�������23�����4�������56�����76�	����8���
���{9:����t��;����g��<�
 ���r�
�� �=>?@����+A��	����H�=>?BCC������u�=>?BCCDEF��KG�������HI���e����*��I*��9(�����������PY��Q:+��RWS��T:U��V��W��W:X��V��W��W:	(����1I����		196

���+
1(���	
1I	
1���
	
19�
����:(R�:�Y(goR+��[:��PY��Q:		��RW	��\W]	��^:��PY��Q:

��RW
��\W_
��^:��`�������r���������������%���,���5���D���S���[���`���i���o���z������������������������������������������������������	��������r�0J���
�%�}KL��5�mMN��D�^OP��S�OQP�	������������
R��S����hTP����^UP����LVW����CXL�	��� YL�
 ���8�����C�=Z[\�W�W�������=Z���]I����x����� ��PY��QM,+��RW,��aWb,��TN-��`����������
���
����*���� ����� �������^L���VW��_`����������.*c+��d��e��f��c��g��M*��h,��i���jYh��k��������M�����������#�-��� ���ab����.�����.c��� ����VG�d`���������+��l���*+��l��mM,���N,��n��o��pN-��q��r��*����-��s��r��*����):*����uY��vw��x+��l��xy��x��z��{�:,��n��|��p:��}��r��*��~������r��*��~��):*����uY��v���x+��l��xy��x��z��{���'*����uY��v���x+��l��xy��x��z������*�������+��d�����*+��d��������+��d�����*+��d��������+�����W+��������#*+�����������**��*��k*��c��+��������#*+�����������**��*��k*��c������B�E�t�n�����t������/��'�(�)�*�,�-�,�!.�+/�30�=1�B7�E3�G4�X6�f4�k9�n;�o<�u;�z=��>��?��@��F��B��C��E��C��G��H��I��H��K��L��PQTU+[2\<]J^\`fatb�e���H��G�$ef����$ef����gh��n�Xih����jk���������c��� ���)���3lmBn%��!mBn��%��#
0)�op��������+,���:6:���Y+���:6	6
*�����J�U6�I*����
6
��dd6
6�#6

��9���*��g���.��������������
���8���C���N���Y���d���o���z����������������9��g����9��\����9��Q����9��F����9��;����9��0����9��%���������9������9��
���9*����
6	��dd6	*��k*��c9*�����	*��9*�����	*��9	

����
�����܄����P6�F6�7*����
6
��dd6
6

��9���*��g���.������������
���6���A���L���W���b���m���x����������������9��g����9��\����9��Q����9��F����9��;����9��0����9��%���������9������9��
���9*����

6	��
dd6	*��k*��c9*�����	*��9*�����	*��9	
����
�����Ʉ�����a�����Y:	��T:	��uY��v���x������x+�����z:
*��
	��i�	������Y
����:��
�����:������������M����"%����������b��j�k�	l�n�o�p�r�(s�1u�8v�?x�Gz�Q{�[|�^}�a~�������������������������������������������������	����!�*�8�B�H�R�X�e{kzqsz������������������������
���� �(�+�3�6�>�A�N�Q�Y�\�c�j�q�z�������������������������������'�*�������aq��Tr���
�J's����+Lt����q��s���
�:t���}Jr�����u���	��v���
��w���
��;ab�	��+����+x3���+�������+/�����+0�����+1����%y	��	"z����{|� �����5��+�=BZ}~������	��O








����������	����M








������LDG|����=BZ}~������������	=BZ}~���������������������W*��G��H��*��I��H��,�+���W��"*�����J��*+,�����
,*��+���W��N�:*��-��i������B�E������*�
������#��/��8�B�E�F�J�V���4��J������F�a�����W�����W#$����W���� ����
	B�������������M=+�����E>+���l��3+���6+++���dd������++���dd������Ʉ����������"����
���1�@�F�L���4���"������:������J-������M�����M���� ��������	��9������������������Y���N,���,���,������������:������,��������,������������-������Y+���:-��������:��§�:��ç�
:�������k�n����k�x����k���M����R����$�"%�,(�9)�F+�P-�V.�`/�f0�k9�n1�p3�u9�x4�z6�9��7��8��:���\�	�"�I����`�����p�a���z�a�����ab�����������#$��������������� ���!���n�=?Z���IIG������`��	��$,G��J��ǻ��Y���N666*��ƶ�'��`*��ƶ�(��)�:��*���H��+���,:��-����.��/6��#��-����.��/6��
��.��/6���-Ƕ��-���-���-���-���-���-���-*��϶�ж��-���-���-���-+��է�Y,I��J��)���Y*��C���N+���Y-��ٷ�ڶ��ܶ�ݶ�ާ�*��uY��v߶�x,��x��zN*��-��{���MY-��࿱������~���=�	>�?�@�%A�IC�RD�_E�hF�uH�J��L��N��O��P��Q��R��S��T��U��V��W��X��Y��Z��[��\��]^_#a���f�
�I�6+,������������������������1����������������$����$#$���$���� ���:���3�=?��@����+A��	����J�=?���.&��������M�������/�����*������������d����������������>�����*+���������
���h�i������������������������/�����*������������p����������������������|��%�����M*��,��{���jY,��k�*��*�*��������	*��������:���������#������,������5*
����*����*���������6�
��x�y�z�{�(}�-~�=�d��j��m��s��v��{���� ����������|�����|���� ����(;�������/�����*��g���������������������������>�����*+��g�������
�������������������������������/�����*������������������������������>�����*���������
�����������������������������/�����*�����������������������������������^+���M,��*���+G��J��+I��J��+���J��*+����/��uY��v��x+��x��x��zN*��-��{���jY-��k��������*�
����������#��)��1��J��T��]����*��J��������^�����^�������Y���(������Y��� ���
���)@+�������/�����*�����������������������������>�����*���������
����������������������������/�����*�����������������������������>�����*���������
����������������������������/�����*��ư���������������������`����^�����*+���**��Ʒ��**��Ʒ��*����������������
���������������������A!�����4�����
*+��#,��&�����������Z�������
���������������������������������c-��@