�������4�
����
��	��	��@�������
��	���	��	���	��	��	��	��	��	�����������	���������	����
��
��
��	��
�

�
��
�
�	

�
�
�
�)
�)	
�2
�2



�6 !
�6"
�;#
�)$
%&
'
�;()*
�C+
,-.
�F/
�F0	�1
�234
�L56
�L7
�89
�L:;
�L8
�K<
�=
�>
�?@
ABC
AD
�E
�FG
�H
IJK
�b5
�bLf
MNO
PQiR@o������
,S
�bTU
MVW
,X
�bYZ\
�)]
^_
`a	�bcdef
�|<
�)g
�h
ij
kl
mn	mo
mB	mpqrsdt
ku	mv
�w	mxyzd{|
^}
�~
^
�)�
��
����������
�
��
��#
�u�
��
��	���
�u�
��
��
��
��
��
��
��
��
��
�~
��
��
��
�J�
�L��
�L��
���
����
��5��������
��
�
�
���
���
���
�
�
�
�
��
�����
�������
����
���
���
��J�
���
�K��
��5	���
���
���
���
���
���
���
���
��
�u�
���
���
���
���
����
����
���
���
��8�
A�
I��
�_<	���
����
��
��
������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�0Lgov/nasa/arc/pds/xml/generated/Array3DSpectrum;�lineDirectionDown�sampleDirectionRight�firstIndexFastest�
scalingFactor�D�valueOffset�
selectedBands�Ljava/util/List;�	Signature�%Ljava/util/List<Ljava/lang/Integer;>;�dataMin�dataMax�<init>�c(Lgov/nasa/arc/pds/xml/generated/FileAreaObservational;Lgov/nasa/pds/objectAccess/ObjectProvider;)V�Code�LineNumberTable�LocalVariableTable�this�2Lgov/nasa/pds/objectAccess/ThreeDSpectrumExporter;�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�LocalVariableTypeTable�BLjava/util/List<Lgov/nasa/arc/pds/xml/generated/Array3DSpectrum;>;�I(Lgov/nasa/arc/pds/xml/generated/Array3DSpectrum;Ljava/io/OutputStream;)V�axis�*Lgov/nasa/arc/pds/xml/generated/AxisArray;�i�selectedBand�Ljava/lang/Integer;�array3DSpectrum�lines�samples�bands�data�bufferedInputStream�Ljava/io/BufferedInputStream;�bytesSkipped�J�scanline_stride�band_offsets�[I�bank_indices�dataBufferType�sampleModel�Ljava/awt/image/SampleModel;�Ljava/awt/image/ColorModel;�"Ljavax/imageio/ImageTypeSpecifier;���!M��.�G�
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�K��toDisplayableImage�	pbConvert�setImageElementsDataType�3(Lgov/nasa/arc/pds/xml/generated/Array3DSpectrum;)V�e�Ljava/lang/Exception;�array3dSpectrum�setImageStatistics�ignore� Ljava/lang/NullPointerException;�lineDir�%Lgov/nasa/pds/label/DisplayDirection;�	sampleDir�ds�0Lgov/nasa/arc/pds/xml/generated/DisplaySettings;��q�flexReadToRaster�P(Ljava/io/BufferedInputStream;Ljava/awt/image/BufferedImage;IILjava/util/List;)V�value�x�y�xWrite�yWrite�b�m�inputStream�
countBytes�si�(Lcom/sun/media/jai/codec/SeekableStream;�raster�Ljava/awt/image/WritableRaster;���3��e(Ljava/io/BufferedInputStream;Ljava/awt/image/BufferedImage;IILjava/util/List<Ljava/lang/Integer;>;)V�writeRasterImage�7(Ljava/io/OutputStream;Ljava/awt/image/BufferedImage;)V�message�Ljava/io/IOException;�bi�
writeFitsFile�tx�Ljava/awt/geom/AffineTransform;�op�"Ljava/awt/image/AffineTransformOp;�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�getArray3DSpectrum�2()Lgov/nasa/arc/pds/xml/generated/Array3DSpectrum;�setArray3DSpectrum�img�setBands�(Ljava/util/List;)V�((Ljava/util/List<Ljava/lang/Integer;>;)V�+(Ljava/lang/Object;Ljava/io/OutputStream;)V��Lgov/nasa/pds/objectAccess/ImageExporter;Lgov/nasa/pds/objectAccess/Exporter<Lgov/nasa/arc/pds/xml/generated/Array3DSpectrum;>;�
SourceFile�ThreeDSpectrumExporter.java �0gov/nasa/pds/objectAccess/ThreeDSpectrumExporter��������java/awt/image/BufferedImage
�PNG�java/lang/Double�java/util/ArrayList�java/lang/Integer���������/	�
�.gov/nasa/arc/pds/xml/generated/Array3DSpectrum�y��4<�
���(gov/nasa/arc/pds/xml/generated/AxisArray���java/net/URL��java/io/BufferedInputStream !"#$%&'()*�java/awt/image/DataBuffer� java/awt/image/BandedSampleModel+,-.� javax/imageio/ImageTypeSpecifier/01
2��java/io/IOException�java/lang/StringBuilder2�Invalid band value entered '345��''. Must be greater than 0 or less than 36�.���abvb�VICAR�78�PDS39:�����java/lang/Exception���;2�(java/awt/image/renderable/ParameterBlock<=>?@�minimum�AB�maximumCDE=�
subtractconst?F�
multiplyconstGHEI�formatJ�2gov/nasa/pds/objectAccess/DataType$NumericDataTypeKLMN�OPQ�2Array data type is not valid, null, or unsupportedRST�"java/lang/IllegalArgumentExceptionU�VW�XYZ[��\]^�_��java/lang/NullPointerException�bCannot find vertical_display_direction element in the Display_Direction area for with identifier '�'.S�`�a���b��`Cannot find horizontal_display_direction element in the Display_Direction area with identifier '�*No display settings found for identifier 'c��ZNo display settings found. Missing local_identifier element in the Array_3D_Spectrum area.defgheijklemeno�1com/sun/media/jai/codec/MemoryCacheSeekableStreamp��qrs(tMu�vwx�y�z{|�}{~((�P����g����EOF at byte number: 3�� inputFile: 3��raw����fits���Error writing to output stream�nom/tam/fits/Fits�������� java/awt/image/AffineTransformOp��������������nom/tam/fits/ImageHDU�NAXIS�NUMBER OF AXES���NAXIS1�NUMBER OF COLUMNS�NAXIS2�NUMBER OF ROWS���%nom/tam/util/BufferedDataOutputStream����nom/tam/fits/FitsException�2�3gov/nasa/pds/objectAccess/VicarSystemLabelGenerator�BSQ�����������������������������"jpl/mipl/io/plugins/ImageToPDS_DOM��!jpl/mipl/io/plugins/DOMtoPDSlabel����ASCII�����Unsupported label type: 	�'Supported pixel bit depths are 8 and 16���The export image type � is not currently supported.xy}y12�'gov/nasa/pds/objectAccess/ImageExporter�"gov/nasa/pds/objectAccess/Exporter�2gov/nasa/pds/objectAccess/ThreeDSpectrumExporter$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/util/List�&com/sun/media/jai/codec/SeekableStream�java/awt/image/WritableRaster�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/util/Arrays�asList�%([Ljava/lang/Object;)Ljava/util/List;�(Ljava/util/Collection;)V�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�getArray3DSpectrums�H(Lgov/nasa/arc/pds/xml/generated/FileAreaObservational;)Ljava/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;�intValue�append�-(Ljava/lang/String;)Ljava/lang/StringBuilder;�toString�(I)Ljava/lang/StringBuilder;�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�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;�getBits�seek�(J)V�getFilePointer�=$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�(J)Ljava/lang/StringBuilder;�-(Ljava/lang/Object;)Ljava/lang/StringBuilder;�javax/imageio/ImageIO�write�I(Ljava/awt/image/RenderedImage;Ljava/lang/String;Ljava/io/OutputStream;)Z�java/awt/geom/AffineTransform�getScaleInstance�#(DD)Ljava/awt/geom/AffineTransform;�	getHeight�	translate�(DD)V�#(Ljava/awt/geom/AffineTransform;I)V�filter�\(Ljava/awt/image/BufferedImage;Ljava/awt/image/BufferedImage;)Ljava/awt/image/BufferedImage;�getData�()Ljava/awt/image/Raster;�getWidth�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�printStackTrace�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;�!����������������������	���
������
����������������������������������� �� �!���	�����*+,��*����*��*�*��������	*
��*��*
��*��*��*��*��*��*���*���*��Y��Y��Y��SY��Y��SY��Y��S������ ����"���F����t��[��b��c�%�f�+�g�0�h�6�j�;�k�@�l�E�m�J�n�O�p�V�q�]�u���v���w#��� �����$%������&'�����()�*�����K��+�!���O�����
*+��!��"��#����"���
����z��{#��� ����
$%�����
,-����
.�*�����_��/�!���	�����*+��$*����*��*�*��������	*
��*��*
��*��*��*��*��*��*���*���*��Y��Y��Y��SY��Y��SY��Y��S������ ����"���F����~��[��b��c�%�f�+�g�0�h�6�j�;�k�@�l�E�m�J�n�O�p�V�q�]���������#��� �����$%������,0�����.�*�����_�12�!���u�����0*���������+���������������%*
����	*������"��������� ���&���)���/��#�������0$%��3���� �45�!���������&*��%*��&��'�N*-��(���)��***��++��,����"���������������%��#���*����&$%�����&67����&8���9�:������9;�*�����K�4<�!��������*+��*>66+��-��\+��.��/�:��0���G��1���2:��3����4��56��"��3����4��5>��
��4��56�����6Y*��%��7�*��&��8��9��::��;Y��<��=:+��>��?��@��A76
�
:�
:6

��
O

O�
���6
��CY

��D:��E:��FY��G:*��H��I*�� ��/�:��0���R��1���:��J��
��J��1��KY��LY��MN��O��P��OQ��O��RS��O��T��U����**��I*�� ��V***��I��W��I***��I��X��I*��Y��Z��*��[��\��*,*��]��^��:*,*��I��`,��a������_�"�����+�����������
���
������6���?���L���U���a���k���n��������������������������������������������������������������
��+��=��O��k��n����������������������������#������6�5=>����?�
+�@@A����$%�����B����67���C��
�D��
�E���AF0���3GH���"IJ���K�
��LM���NM�����O�
����PQ�����R�����S�3������� �TUVW����+X��	����K�
TUVYZ[[������A�TUVYZ[[\]^W����'_��-����@K`*�����K�ab�!��e����*��I*��9(�����������bY��c:+��dWe��f:g��h��i��i:j��h��i��i:	(����1I����		196

���+
1(���	
1I	
1���
	
19�
����:(R�:�k(goR+��m:��bY��c:		��dW	��nWo	��p:��bY��c:

��dW
��nWq
��p:��r����"���r���������������%���,���5���D���S���[���`���i���o���z�����������������������������������������������������	#������r�0c�
�%�}de��5�mfg��D�^hi��S�Oji�	��$%����
��
k��l����hmi����^ni����Lop����Cqe�	��� re�
3���8�����C�Tstu�i�i�������Ts���vb�!���x����� ��bY��cM,+��dW,��sWt,��fN-��r����"������
����#���*���� $%����� 
���we���op��xy�!���������.*u+��v��w��x��u��y��M*��z,��{���|Yz��}��������_�"����������#�-#��� ���z{����.$%�����.|�3����V`�}y�!��������+��~���*+��~��M,���N,���������N-��������*����-��������*����):*����LY��M���O+��~��O���O��T����:,���������:��������*�������������*�����):*����LY��M���O+��~��O���O��T������'*����LY��M���O+��~��O���O��T������*�������+��v�����*+��v��������+��v�����*+��v��������+�����W+��������#*+�����������**��*��k*��c��+��������#*+�����������**��*��k*��c������B�E���n�������"�����/��*�+�,�-�/�0�/�!1�+2�33�=4�B:�E6�G7�X9�f7�k<�n>�o?�u>�z@��A��B��C��I��E��F��H��F��J��K��L��K��N��O��STWX+^2_<`Ja\cfdte�h#���H��G�$~����$~��������n�X������������$%�����|�3���)���3��B�%��!�B���%��#
0)����!���������7:,���:	���Y+���:6
��/�:��0�����1���:��Jd*��y���lhhh����6
6���76�C*����
6��dd66�9���*��y���.�����������
���5���@���K���V���a���l���w����������������9��g����9��\����9��Q����9��F����9��;����9��0����9��%���������9������9��
���9*��y���l�a7*����
6
��dd6
*��k*��c9*�����	*��9*�����	*��9	

�����������
��t��\�����T:
��O:
��LY��M���O������O+�����T:*��
��{���KY��U�:��
�����:�������K����_�����	�K������"�����<��n�o�p�w�x�y�:z�W{�Z|�]}�d~�m�t��{�������������������������������������������*�-�5�8�?�O�V�]�f�t�~����������~���������������������#�����������!���gF���ZV��
�]S���:v@A�����
������6z{�
��$%�����H���
���C���D�����
�J��
�������	:�������3�������$�TZs���W����B�TZs���W_������I







�������	TZs�����L�D`w����TZs������������������	TZs�����*�����K��������!���������W*��Y��Z��*��[��Z��,�+���W��"*�����\��*+,�����
,*��+���W��N�:*��-��{������B�E�K�"���*�
������#��/��8��B��E��F��J��V�#���4��J����F�z�����W$%�����W67����W��3����
	B�����!������������Y���N*����,�����:,���t�������Y���:,���M,���,���,�����Ÿ�����:�ɶ���,���̶���,���ζ��-��ϻ��Y+���:-�����ӧ�:��է�
:��ֱ��������������K�"���V�����������$��0��8��R��\��i��v��|����������������������������#���f�
�� ����0�����R�?������������z�����z������$%������67�������������3������8���[�I�����!��`��	��$,Y��\��ǻ��Y���N666*��ٶ�-��`*��ٶ�.��/�:��0���H��1���2:��3����4��56��#��3����4��56��
��4��56���-ڶ��-���-���-���-���-���-���-*�������-���-���-���-+����Y,[��\��)���Y*��I���N+���Y-��������������*��LY��M��O,��O��TN*��-������_Y-������"���~�����	������%��I��R��_��h��u���������	��
������
������������������##���f�
�I�6=>��������������������E������������$$%����$67���$��3���:���3�TV��W����+X��	����J�TV���.&*������K�_����!���/�����*�������"������#�������$%������!���>�����*+�������"���
���!�"#�������$%�����	�����!���/�����*������"������)#�������$%������!���������d�����M*��,������|Y,��}�*��*�*��������	*������(���������������"*
����	*������"���.���1�2�3�4�"6�'7�78�T:�Z;�]=�c@#��� ��������d$%�����d��3����"1����!���/�����*��y����"������D#�������$%������!���>�����*+��y����"���
���I�J#�������$%�������
��!���/�����*������"������R#�������$%���
��!���>�����*������"���
���[�\#�������$%�����������!���/�����*������"������c#�������$%������!���������^+���M,��0���+Y��\��+[��\��+���\��*+����/��LY��M���O+��O���O��TN*��-������|Y-��}�����"���*�
��m�n�o�p�#q�)r�1t�Ju�Tv�]x#���*��J������^$%�����^���Y���:������Y���3���
���)W+����!���/�����*������"������#�������$%������!���>�����*������"���
������#�������$%����������!���/�����*������"�������#�������$%������!���>�����*������"���
������#�������$%����������!���/�����*��ٰ���"�������#�������$%����y�!���^�����*+���**��ٷ��**��ٷ��*�������"����������
�����#�������$%�����������!���P�����*+�� ����"���
������#�������$%�����E�:�������E�����A4��!���4�����
*+��),��,����"�������Y#�������
$%��*�����K������������������������u[@