;+
; NAME:
;	WRITE_IPLAB
;
; PURPOSE:
;	This procedure saves an image and header in the IPLAB image format.
;	See reference for details.
;
; CALLING SEQUENCE:
;	WRITE_IPLAB, Image, Hdr, File
;
; CATEGORY:
;	IPLAB
;
; ARGUMENTS:
;	IMAGE  The image data.
;	HDR	The header structure associated with the image.  (See reference and READ_IPLAB and 
;		QUERY_IPLAB routines.)
;	FILE  The fully qualified filename for the image.  If the file already exists, the original 
;		is overwritten without warning.
;
; KEYWORDS:
;	None
;
; MODIFICATION HISTORY:
;	Written by Ben Tupper, Summer 2000.
;	Bigelow Laboratory for Ocean Science
;	btupper@bigelow.org
;-


PRO WRITE_IPLAB, Image, HDR, File

On_Error, 2

On_IOerror, trouble

If N_elements(File) EQ 0 Then Begin
	Message, 'File name must be present'
	Return
EndIf

If N_elements(HDR) EQ 0 OR Size(HDR, /TName) NE 'STRUCT' Then Begin
	Message, 'HDR must be a structure.'
	Return
EndIf

If N_elements(Image) EQ 0 Then Begin
	Message, 'Image must be present'
	Return
EndIf

OpenW, U, File, /Binary, /NoAutoMode , /Get_LUN

WRITEU, U, HDR.Version		;version
WRITEU, U, HDR.IPLABFORMAT						;File Format  0 for Data
WRITEU, U, HDR.DataType		;dat type
WRITEU, U, HDR.WIDTH		
WRITEU, U, HDR.HEIGHT
WRITEU, U, HDR.Reserved1			;reserved
WRITEU, U, HDR.OVERLAYINFILE
WRITEU, U, HDR.Reserved2				;reserved
WRITEU, U, HDR.NFRAMES
WRITEU, U, HDR.Reserved3				;reserved
WRITEU, U, HDR.NRegMarks
WRITEU, U, HDR.RESERVED4
WRITEU, U, HDR.CLUT

WRITEU, U, IMAGE

TROUBLE:  

FREE_LUN, U

END
