/* ** Colorize.fred ** ** $VER: Colorize.fred 1.0.0 (28.11.93) ** ** This program can be run from an InvokeADPro list to colorize an ** image. ** ** Clips Imported: ** FREDColorizeT - Type of colorization to perform ** FREDColorizePF - From grayscale value ** FREDColorizePT - To grayscale value ** FREDColorizeF - values which fall outside of PF-PT range ** FREDColorizeR - Red color for HSV/RANDOM colorization ** FREDColorizeG - Green color for HSV/RANDOM colorization ** FREDColorizeB - Blue color for HSV/RANDOM colorization ** FREDColorizeHTP - Type of HSV colorization ** FREDColorizeHF - From hue value (HSV only) ** FREDColorizeHT - To hue value (HSV only) ** ** NOTE: Clip names are case sensitive. ** ** This script requires FRED v1.4.0 (or higher) to run. Also required is ** ADPro v2.5.0 (or higher). ** ** Copyright © 1993 ASDG, Incorporated ** All Rights Reserved */ ADDRESS "ADPro" OPTIONS RESULTS PARSE ARG FrameNum FrameFName Length LoadFlag FirstCallSeq FirstCallCell NL = '0A'X SQ = '27'X DQ = '22'X TRUE = 1 FALSE = 0 /* ** Get the required clips. Error if any are missing. */ ColorizeT = GETCLIP( "FREDColorizeT" ) IF (ColorizeT = "") THEN DO ADPRO_TO_FRONT OKAY1 "Required clip, FREDColorizeT," || NL ||, "is not specified." SCREEN_TO_FRONT "FRED" EXIT 10 END ColorizePF = GETCLIP( "FREDColorizePF" ) IF (ColorizePF = "") THEN DO ADPRO_TO_FRONT OKAY1 "Required clip, FREDColorizePF," || NL ||, "is not specified." SCREEN_TO_FRONT "FRED" EXIT 10 END ColorizePT = GETCLIP( "FREDColorizePT" ) IF (ColorizePT = "") THEN DO ADPRO_TO_FRONT OKAY1 "Required clip, FREDColorizePT," || NL ||, "is not specified." SCREEN_TO_FRONT "FRED" EXIT 10 END ColorizeF = GETCLIP( "FREDColorizeF" ) IF (ColorizeF = "") THEN DO ADPRO_TO_FRONT OKAY1 "Required clip, FREDColorizeF," || NL ||, "is not specified." SCREEN_TO_FRONT "FRED" EXIT 10 END IF ((ColorizeT = "RANDOM") | (ColorizeT = "HSV")) THEN DO ColorizeR = GETCLIP( "FREDColorizeR" ) IF (ColorizeR = "") THEN DO ADPRO_TO_FRONT OKAY1 "Required clip, FREDColorizeR," || NL ||, "is not specified." SCREEN_TO_FRONT "FRED" EXIT 10 END ColorizeG = GETCLIP( "FREDColorizeG" ) IF (ColorizeG = "") THEN DO ADPRO_TO_FRONT OKAY1 "Required clip, FREDColorizeG," || NL ||, "is not specified." SCREEN_TO_FRONT "FRED" EXIT 10 END ColorizeB = GETCLIP( "FREDColorizeB" ) IF (ColorizeB = "") THEN DO ADPRO_TO_FRONT OKAY1 "Required clip, FREDColorizeB," || NL ||, "is not specified." SCREEN_TO_FRONT "FRED" EXIT 10 END END IF (ColorizeT = "HSV") THEN DO ColorizeHTP = GETCLIP( "FREDColorizeHTP" ) IF (ColorizeHTP = "") THEN DO ADPRO_TO_FRONT OKAY1 "Required clip, FREDColorizeHTP," || NL ||, "is not specified." SCREEN_TO_FRONT "FRED" EXIT 10 END ColorizeHF = GETCLIP( "FREDColorizeHF" ) IF (ColorizeHF = "") THEN DO ADPRO_TO_FRONT OKAY1 "Required clip, FREDColorizeHF," || NL ||, "is not specified." SCREEN_TO_FRONT "FRED" EXIT 10 END ColorizeHT = GETCLIP( "FREDColorizeHT" ) IF (ColorizeHT = "") THEN DO ADPRO_TO_FRONT OKAY1 "Required clip, FREDColorizeHT," || NL ||, "is not specified." SCREEN_TO_FRONT "FRED" EXIT 10 END END /* ** See what type of data is loaded in ADPro/MorphPlus. */ CALL "FREDSCRIPTS:FREDFunctions/CheckForGrayImageData" FALSE IF (RESULT ~= 0) THEN EXIT 10 /* ** Colorize the image. */ IF (ColorizeT = "HSV") THEN DO OPERATOR "COLORIZE", ColorizeT, ColorizePF ColorizePT, (ColorizeF), ColorizeR ColorizeG ColorizeB, ColorizeHTP, ColorizeHF ColorizeHT IF (RC ~= 0) THEN DO ADPRO_TO_FRONT OKAY1 "Could not colorize image." || NL || NL ||, "Arguments:" || NL ||, "Type =" ColorizeT || NL ||, "Grayscale Range =" ColorizePF ColorizePT || NL ||, "Fill value =" ColorizeF || NL ||, "Base RGB value =" ColorizeR ColorizeG ColorizeB || NL ||, "HSV Type =" ColorizeHTP || NL ||, "HSV Range =" ColorizeHF ColorizeHT SCREEN_TO_FRONT "FRED" EXIT 10 END END ELSE IF (ColorizeT = "RANDOM") THEN DO OPERATOR "COLORIZE", ColorizeT, ColorizePF ColorizePT, (ColorizeF), ColorizeR ColorizeG ColorizeB IF (RC ~= 0) THEN DO ADPRO_TO_FRONT OKAY1 "Could not colorize image." || NL || NL ||, "Arguments:" || NL ||, "Type =" ColorizeT || NL ||, "Grayscale Range =" ColorizePF ColorizePT || NL ||, "Fill value =" ColorizeF || NL ||, "Base RGB value =" ColorizeR ColorizeG ColorizeB || NL ||, SCREEN_TO_FRONT "FRED" EXIT 10 END END ELSE DO OPERATOR "COLORIZE", ColorizeT, ColorizePF ColorizePT, (ColorizeF) IF (RC ~= 0) THEN DO ADPRO_TO_FRONT OKAY1 "Could not colorize image." || NL || NL ||, "Arguments:" || NL ||, "Type =" ColorizeT || NL ||, "Grayscale Range =" ColorizePF ColorizePT || NL ||, "Fill value =" ColorizeF SCREEN_TO_FRONT "FRED" EXIT 10 END END EXIT 0