;+
; NAME:
;	SMEI_SEQUENCE::DELETE_IMAGE
;
;
; PURPOSE:
;	To remove an image from a SMEI sequence
;
;
; CATEGORY:
;	SMEI_SEQUENCE
;
;
; CALLING SEQUENCE:
;	seqref -> delete_image, image
;
;
; INPUTS:
;	image	Either an image number, or an image reference.
;
;
; MODIFICATION HISTORY:
;	Original: 10/12/02; SJT
;-

pro smei_sequence::delete_image, image

s = size(image, /type)
switch s of
    1:
    2:
    3:
    12:
    13:
    14:
    15:begin                    ; A numerical type
        im = self -> get_image(image)
        if not obj_valid(im) then begin
            smei_msg, /warn, "No image of this number exists"
            return
        endif
        obj_destroy, im
        break
    end
    11: begin                   ; An object reference
        if obj_valid(image) then begin
            if obj_isa(image, "SMEI_IMAGE") then begin
                if image -> get_sequence() eq self then obj_destroy, image $
                else begin
                    smei_msg, /warn, "Image is not part of this " + $
                              "sequence"
                    return
                endelse
            endif else begin
                smei_msg, /warn, "Image is not a SMEI_IMAGE"
                return
            endelse
        endif else begin
            smei_msg, /warn, "Image is not a valid object"
            return
        end
        break
    end
    else: begin
        smei_msg, /alert, "Invalid type of image specifier"
    end
endswitch

end
