Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #@gui Satellite : fx_satellite, fx_satellite_preview(1)
- #@gui : note = note("Converts to grayscale and uses <a href="https://www.ospo.noaa.gov/Organization/FAQ/enhancements.html">image enhancement colour schemes</a> which are used in NOAA satellite weather products.")
- #@gui : Enhancement = choice("Aviation","Dvorak","Funktop","JSL2","Shortwave IR2 (Standard and Tropical)","Shortwave IR2 (Fire)","Shortwave IR2 (Summer Fire)","Shortwave IR2 (Winter Fire)","Rainbow (Old)","Rainbow (New)","Water Vapour","Water Vapour (Blue)","IR Window (old)")
- #@gui : Gamma power = float(0,-5,5)
- #@gui : Lower threshold = float(0,0,100)
- #@gui : Higher threshold = float(100,0,100)
- #@gui : Normalise = bool(1)
- #@gui : To sRGB = bool(0)
- fx_satellite :
- repeat $! l[$>]
- to_gray
- f "255*((i/255)^(2^-$2))"
- c $3%,$4% if $5 n 0,255 fi
- to_rgb
- # use '{ print("(i<="$2+1")?["$3"+(i-"$1")*"($4-$3)/($2-$1)","$5"+(i-"$1")*"($6-$5)/($2-$1)","$7"+(i-"$1")*"($8-$7)/($2-$1)"]:") }' in awk to get values from text files from the linked NOAA site.
- if {$1==0}
- f "(i<=48)?[0,0,0]:
- (i<=52)?[8,8,8]:
- (i<=56)?[20,20,20]:
- (i<=60)?[28,28,28]:
- (i<=64)?[40,40,40]:
- (i<=68)?[52,52,52]:
- (i<=72)?[60,60,60]:
- (i<=76)?[72,72,72]:
- (i<=80)?[84,84,84]:
- (i<=84)?[92,92,92]:
- (i<=88)?[104,104,104]:
- (i<=92)?[112,112,112]:
- (i<=96)?[124,124,124]:
- (i<=100)?[136,136,136]:
- (i<=104)?[144,144,144]:
- (i<=108)?[156,156,156]:
- (i<=112)?[168,168,168]:
- (i<=116)?[176,176,176]:
- (i<=120)?[188,188,188]:
- (i<=124)?[196,196,196]:
- (i<=128)?[208,208,208]:
- (i<=132)?[220,220,220]:
- (i<=136)?[228,228,228]:
- (i<=140)?[240,240,240]:
- (i<=144)?[252,252,252]:
- (i<=148)?[244,156,0]:
- (i<=152)?[236,152,0]:
- (i<=156)?[228,148,0]:
- (i<=160)?[220,144,0]:
- (i<=164)?[212,140,0]:
- (i<=168)?[208,136,0]:
- (i<=172)?[200,132,0]:
- (i<=176)?[192,128,0]:
- (i<=180)?[184,124,0]:
- (i<=184)?[176,120,0]:
- (i<=188)?[0,160,160]:
- (i<=192)?[0,188,188]:
- (i<=196)?[0,220,220]:
- (i<=200)?[0,248,248]:
- (i<=204)?[0,180,252]:
- (i<=208)?[0,160,232]:
- (i<=212)?[0,140,216]:
- (i<=216)?[0,120,196]:
- (i<=220)?[0,0,232]:
- (i<=224)?[0,0,248]:
- (i<=250)?[88,88,88]:
- (i<=256)?[255,255,255]"
- elif {$1==1}
- f "(i<=59)?[0+(i-0)*0,0+(i-0)*0,0+(i-0)*0]:
- (i<=68)?[6+(i-59)*7,6+(i-59)*7,6+(i-59)*7]:
- (i<=97)?[75+(i-68)*6.42857,75+(i-68)*6.42857,75+(i-68)*6.42857]:
- (i<=175)?[112+(i-97)*1.19481,112+(i-97)*1.19481,112+(i-97)*1.19481]:
- (i<=188)?[64+(i-175)*0,64+(i-175)*0,64+(i-175)*0]:
- (i<=199)?[112+(i-188)*0,112+(i-188)*0,112+(i-188)*0]:
- (i<=209)?[160+(i-199)*0,160+(i-199)*0,160+(i-199)*0]:
- (i<=215)?[0+(i-209)*0,0+(i-209)*0,0+(i-209)*0]:
- (i<=221)?[255+(i-215)*0,255+(i-215)*0,255+(i-215)*0]:
- (i<=226)?[136+(i-221)*0,136+(i-221)*0,136+(i-221)*0]:
- (i<=256)?[88+(i-226)*0,88+(i-226)*0,88+(i-226)*0]"
- elif {$1==2}
- f "(i<=44)?[0+(i-0)*0,0+(i-0)*0,0+(i-0)*0]:
- (i<=152)?[20+(i-44)*1.83178,20+(i-44)*1.83178,20+(i-44)*1.83178]:
- (i<=184)?[0+(i-152)*0,100+(i-152)*4.77419,100+(i-152)*4.77419]:
- (i<=204)?[120+(i-184)*6.94737,0+(i-184)*13.2632,0+(i-184)*0]:
- (i<=216)?[0+(i-204)*0,0+(i-204)*0,84+(i-204)*15.2727]:
- (i<=224)?[80+(i-216)*8.57143,80+(i-216)*8.57143,252+(i-216)*0]:
- (i<=237)?[0+(i-224)*21,252+(i-224)*0,0+(i-224)*21]:
- (i<=253)?[252+(i-237)*0,252+(i-237)*0,252+(i-237)*0]:
- (i<=256)?[255+(i-253)*0,255+(i-253)*0,255+(i-253)*0]"
- elif {$1==3}
- f "(i<=4)?[0+(i-0)*0,0+(i-0)*0,0+(i-0)*0]:
- (i<=8)?[28+(i-4)*0,0+(i-4)*0,28+(i-4)*0]:
- (i<=12)?[60+(i-8)*0,0+(i-8)*0,60+(i-8)*0]:
- (i<=16)?[92+(i-12)*0,0+(i-12)*0,92+(i-12)*0]:
- (i<=20)?[124+(i-16)*0,0+(i-16)*0,124+(i-16)*0]:
- (i<=24)?[156+(i-20)*0,0+(i-20)*0,156+(i-20)*0]:
- (i<=28)?[188+(i-24)*0,0+(i-24)*0,188+(i-24)*0]:
- (i<=32)?[220+(i-28)*0,0+(i-28)*0,220+(i-28)*0]:
- (i<=36)?[252+(i-32)*0,0+(i-32)*0,252+(i-32)*0]:
- (i<=40)?[236+(i-36)*0,0+(i-36)*0,224+(i-36)*0]:
- (i<=44)?[220+(i-40)*0,0+(i-40)*0,196+(i-40)*0]:
- (i<=48)?[208+(i-44)*0,0+(i-44)*0,168+(i-44)*0]:
- (i<=52)?[192+(i-48)*0,0+(i-48)*0,140+(i-48)*0]:
- (i<=56)?[180+(i-52)*0,0+(i-52)*0,112+(i-52)*0]:
- (i<=60)?[164+(i-56)*0,0+(i-56)*0,84+(i-56)*0]:
- (i<=64)?[152+(i-60)*0,0+(i-60)*0,56+(i-60)*0]:
- (i<=68)?[136+(i-64)*0,0+(i-64)*0,28+(i-64)*0]:
- (i<=72)?[124+(i-68)*0,0+(i-68)*0,0+(i-68)*0]:
- (i<=76)?[136+(i-72)*0,28+(i-72)*0,0+(i-72)*0]:
- (i<=80)?[152+(i-76)*0,56+(i-76)*0,0+(i-76)*0]:
- (i<=84)?[164+(i-80)*0,84+(i-80)*0,0+(i-80)*0]:
- (i<=88)?[180+(i-84)*0,112+(i-84)*0,0+(i-84)*0]:
- (i<=92)?[192+(i-88)*0,140+(i-88)*0,0+(i-88)*0]:
- (i<=96)?[208+(i-92)*0,168+(i-92)*0,0+(i-92)*0]:
- (i<=100)?[220+(i-96)*0,196+(i-96)*0,0+(i-96)*0]:
- (i<=104)?[236+(i-100)*0,224+(i-100)*0,0+(i-100)*0]:
- (i<=108)?[252+(i-104)*0,252+(i-104)*0,0+(i-104)*0]:
- (i<=112)?[224+(i-108)*0,236+(i-108)*0,0+(i-108)*0]:
- (i<=116)?[196+(i-112)*0,220+(i-112)*0,0+(i-112)*0]:
- (i<=132)?[92+(i-116)*0.8,92+(i-116)*0.8,92+(i-116)*0.8]:
- (i<=144)?[112+(i-132)*0.727273,112+(i-132)*0.727273,112+(i-132)*0.727273]:
- (i<=156)?[128+(i-144)*0.727273,128+(i-144)*0.727273,128+(i-144)*0.727273]:
- (i<=168)?[144+(i-156)*0.727273,144+(i-156)*0.727273,144+(i-156)*0.727273]:
- (i<=180)?[160+(i-168)*0.727273,160+(i-168)*0.727273,160+(i-168)*0.727273]:
- (i<=184)?[176+(i-180)*0,176+(i-180)*0,176+(i-180)*0]:
- (i<=188)?[184+(i-184)*0,184+(i-184)*0,184+(i-184)*0]:
- (i<=192)?[192+(i-188)*0,192+(i-188)*0,192+(i-188)*0]:
- (i<=196)?[200+(i-192)*0,200+(i-192)*0,200+(i-192)*0]:
- (i<=200)?[208+(i-196)*0,208+(i-196)*0,208+(i-196)*0]:
- (i<=202)?[216+(i-200)*0,216+(i-200)*0,216+(i-200)*0]:
- (i<=215)?[0+(i-202)*5,0+(i-202)*5,60+(i-202)*16.25]:
- (i<=226)?[71+(i-215)*11.9,71+(i-215)*11.9,255+(i-215)*0]:
- (i<=246)?[101+(i-226)*6.36842,0+(i-226)*10.5789,101+(i-226)*6.36842]:
- (i<=256)?[0+(i-246)*0,0+(i-246)*0,0+(i-246)*0]"
- elif {$1==4}
- f "(i<=2)?[0+(i-0)*0,0+(i-0)*0,0+(i-0)*0]:
- (i<=26)?[0+(i-2)*0,0+(i-2)*0,235+(i-2)*-10.2174]:
- (i<=51)?[0+(i-26)*0,0+(i-26)*0,0+(i-26)*0]:
- (i<=62)?[12+(i-51)*0.3,12+(i-51)*0.3,12+(i-51)*0.3]:
- (i<=68)?[23+(i-62)*7.6,23+(i-62)*7.6,23+(i-62)*7.6]:
- (i<=69)?[75+(i-68)*nan,75+(i-68)*nan,75+(i-68)*nan]:
- (i<=81)?[76+(i-69)*7.63636,76+(i-69)*7.63636,76+(i-69)*7.63636]:
- (i<=111)?[161+(i-81)*2.72414,161+(i-81)*2.72414,161+(i-81)*2.72414]:
- (i<=131)?[226+(i-111)*0.736842,226+(i-111)*0.736842,226+(i-111)*0.736842]:
- (i<=171)?[255+(i-131)*-3.46154,255+(i-131)*-3.46154,160+(i-131)*-1.02564]:
- (i<=256)?[150+(i-171)*0.833333,50+(i-171)*0.595238,50+(i-171)*0.595238]"
- elif {$1==5}
- f "(i<=151)?[255+(i-0)*-1.7,255+(i-0)*-1.7,255+(i-0)*-1.7]:
- (i<=256)?[0+(i-151)*0,0+(i-151)*0,0+(i-151)*0]"
- elif {$1==6}
- f "(i<=13)?[255+(i-0)*-2,255+(i-0)*-2,255+(i-0)*-2]:
- (i<=126)?[228+(i-13)*-2.03571,228+(i-13)*-2.03571,228+(i-13)*-2.03571]:
- (i<=256)?[0+(i-126)*0,0+(i-126)*0,0+(i-126)*0]"
- elif {$1==7}
- f "(i<=42)?[255+(i-0)*0,255+(i-0)*0,255+(i-0)*0]:
- (i<=191)?[253+(i-42)*-1.70946,253+(i-42)*-1.70946,253+(i-42)*-1.70946]:
- (i<=256)?[0+(i-191)*0,0+(i-191)*0,0+(i-191)*0]"
- elif {$1==8}
- f "(i<=4)?[0+(i-0)*0,0+(i-0)*0,0+(i-0)*0]:
- (i<=8)?[28+(i-4)*0,0+(i-4)*0,28+(i-4)*0]:
- (i<=12)?[60+(i-8)*0,0+(i-8)*0,60+(i-8)*0]:
- (i<=16)?[92+(i-12)*0,0+(i-12)*0,92+(i-12)*0]:
- (i<=20)?[124+(i-16)*0,0+(i-16)*0,124+(i-16)*0]:
- (i<=24)?[156+(i-20)*0,0+(i-20)*0,156+(i-20)*0]:
- (i<=28)?[188+(i-24)*0,0+(i-24)*0,188+(i-24)*0]:
- (i<=32)?[220+(i-28)*0,0+(i-28)*0,220+(i-28)*0]:
- (i<=36)?[252+(i-32)*0,0+(i-32)*0,252+(i-32)*0]:
- (i<=40)?[236+(i-36)*0,0+(i-36)*0,224+(i-36)*0]:
- (i<=44)?[220+(i-40)*0,0+(i-40)*0,196+(i-40)*0]:
- (i<=48)?[208+(i-44)*0,0+(i-44)*0,168+(i-44)*0]:
- (i<=52)?[192+(i-48)*0,0+(i-48)*0,140+(i-48)*0]:
- (i<=56)?[180+(i-52)*0,0+(i-52)*0,112+(i-52)*0]:
- (i<=60)?[164+(i-56)*0,0+(i-56)*0,84+(i-56)*0]:
- (i<=64)?[152+(i-60)*0,0+(i-60)*0,56+(i-60)*0]:
- (i<=68)?[136+(i-64)*0,0+(i-64)*0,28+(i-64)*0]:
- (i<=72)?[124+(i-68)*0,0+(i-68)*0,0+(i-68)*0]:
- (i<=76)?[136+(i-72)*0,28+(i-72)*0,0+(i-72)*0]:
- (i<=80)?[152+(i-76)*0,56+(i-76)*0,0+(i-76)*0]:
- (i<=84)?[164+(i-80)*0,84+(i-80)*0,0+(i-80)*0]:
- (i<=88)?[180+(i-84)*0,112+(i-84)*0,0+(i-84)*0]:
- (i<=92)?[192+(i-88)*0,140+(i-88)*0,0+(i-88)*0]:
- (i<=96)?[208+(i-92)*0,168+(i-92)*0,0+(i-92)*0]:
- (i<=100)?[220+(i-96)*0,196+(i-96)*0,0+(i-96)*0]:
- (i<=104)?[236+(i-100)*0,224+(i-100)*0,0+(i-100)*0]:
- (i<=108)?[252+(i-104)*0,252+(i-104)*0,0+(i-104)*0]:
- (i<=112)?[224+(i-108)*0,236+(i-108)*0,0+(i-108)*0]:
- (i<=116)?[196+(i-112)*0,220+(i-112)*0,0+(i-112)*0]:
- (i<=120)?[168+(i-116)*0,208+(i-116)*0,0+(i-116)*0]:
- (i<=124)?[140+(i-120)*0,192+(i-120)*0,0+(i-120)*0]:
- (i<=128)?[112+(i-124)*0,180+(i-124)*0,0+(i-124)*0]:
- (i<=132)?[84+(i-128)*0,164+(i-128)*0,0+(i-128)*0]:
- (i<=136)?[56+(i-132)*0,152+(i-132)*0,0+(i-132)*0]:
- (i<=140)?[28+(i-136)*0,136+(i-136)*0,0+(i-136)*0]:
- (i<=144)?[0+(i-140)*0,124+(i-140)*0,0+(i-140)*0]:
- (i<=148)?[0+(i-144)*0,136+(i-144)*0,28+(i-144)*0]:
- (i<=152)?[0+(i-148)*0,152+(i-148)*0,56+(i-148)*0]:
- (i<=156)?[0+(i-152)*0,164+(i-152)*0,84+(i-152)*0]:
- (i<=160)?[0+(i-156)*0,180+(i-156)*0,112+(i-156)*0]:
- (i<=164)?[0+(i-160)*0,192+(i-160)*0,140+(i-160)*0]:
- (i<=168)?[0+(i-164)*0,208+(i-164)*0,168+(i-164)*0]:
- (i<=172)?[0+(i-168)*0,220+(i-168)*0,196+(i-168)*0]:
- (i<=176)?[0+(i-172)*0,236+(i-172)*0,224+(i-172)*0]:
- (i<=180)?[0+(i-176)*0,252+(i-176)*0,252+(i-176)*0]:
- (i<=184)?[0+(i-180)*0,224+(i-180)*0,236+(i-180)*0]:
- (i<=188)?[0+(i-184)*0,196+(i-184)*0,220+(i-184)*0]:
- (i<=192)?[0+(i-188)*0,168+(i-188)*0,208+(i-188)*0]:
- (i<=196)?[0+(i-192)*0,140+(i-192)*0,192+(i-192)*0]:
- (i<=200)?[0+(i-196)*0,112+(i-196)*0,180+(i-196)*0]:
- (i<=204)?[0+(i-200)*0,84+(i-200)*0,164+(i-200)*0]:
- (i<=208)?[0+(i-204)*0,56+(i-204)*0,152+(i-204)*0]:
- (i<=212)?[0+(i-208)*0,28+(i-208)*0,136+(i-208)*0]:
- (i<=216)?[0+(i-212)*0,0+(i-212)*0,124+(i-212)*0]:
- (i<=220)?[0+(i-216)*0,0+(i-216)*0,160+(i-216)*0]:
- (i<=224)?[0+(i-220)*0,0+(i-220)*0,192+(i-220)*0]:
- (i<=228)?[0+(i-224)*0,0+(i-224)*0,216+(i-224)*0]:
- (i<=232)?[0+(i-228)*0,0+(i-228)*0,252+(i-228)*0]:
- (i<=236)?[252+(i-232)*0,252+(i-232)*0,252+(i-232)*0]:
- (i<=256)?[0+(i-236)*13.4211,0+(i-236)*13.4211,0+(i-236)*13.4211]"
- elif {$1==9}
- f "(i<=61)?[0+(i-0)*2,0+(i-0)*2,0+(i-0)*2]:
- (i<=91)?[3+(i-61)*3,3+(i-61)*3,3+(i-61)*3]:
- (i<=101)?[91+(i-91)*1,91+(i-91)*1,91+(i-91)*1]:
- (i<=145)?[103+(i-101)*3.37209,103+(i-101)*3.37209,103+(i-101)*3.37209]:
- (i<=155)?[250+(i-145)*0.555556,250+(i-145)*-27.7778,250+(i-145)*-6.55556]:
- (i<=171)?[255+(i-155)*0,0+(i-155)*0,191+(i-155)*-12.7333]:
- (i<=191)?[242+(i-171)*-12.7368,12+(i-171)*12.7895,0+(i-171)*0]:
- (i<=201)?[0+(i-191)*0,255+(i-191)*0,25+(i-191)*25.5556]:
- (i<=211)?[0+(i-201)*0,229+(i-201)*-25.4444,255+(i-201)*0]:
- (i<=221)?[0+(i-211)*0,0+(i-211)*0,229+(i-211)*-25.4444]:
- (i<=246)?[20+(i-221)*9.79167,20+(i-221)*9.79167,20+(i-221)*9.79167]:
- (i<=256)?[255+(i-246)*0,255+(i-246)*0,255+(i-246)*0]"
- elif {$1==10}
- f "(i<=130)?[0+(i-0)*0,0+(i-0)*0,0+(i-0)*0]:
- (i<=165)?[90+(i-130)*-2.64706,160+(i-130)*-4.70588,255+(i-130)*-7.5]:
- (i<=183)?[0+(i-165)*15,0+(i-165)*15,0+(i-165)*15]:
- (i<=198)?[255+(i-183)*-8.92857,255+(i-183)*-12.5,255+(i-183)*-18.2143]:
- (i<=206)?[130+(i-198)*2.85714,80+(i-198)*10,0+(i-198)*0]:
- (i<=214)?[0+(i-206)*0,150+(i-206)*-14.2857,160+(i-206)*12.8571]:
- (i<=222)?[220+(i-214)*0,0+(i-214)*0,150+(i-214)*14.2857]:
- (i<=230)?[226+(i-222)*-13.1429,0+(i-222)*0,0+(i-222)*0]:
- (i<=256)?[255+(i-230)*0,255+(i-230)*0,255+(i-230)*0]"
- elif {$1==11}
- f "(i<=110)?[0+(i-0)*0,0+(i-0)*0,0+(i-0)*0]:
- (i<=142)?[0+(i-110)*0.0967742,0+(i-110)*8.09677,255+(i-110)*0]:
- (i<=172)?[8+(i-142)*5.44828,243+(i-142)*-8.37931,247+(i-142)*-8.41379]:
- (i<=192)?[170+(i-172)*4.47368,12+(i-172)*12.7895,15+(i-172)*12.6316]:
- (i<=219)?[246+(i-192)*-9.42308,250+(i-192)*-5.5,246+(i-192)*-9.42308]:
- (i<=255)?[7+(i-219)*6.88571,110+(i-219)*3.91429,1+(i-219)*0.0857143]:
- (i<=256)?[255+(i-255)*0,255+(i-255)*0,255+(i-255)*0]"
- elif {$1==12}
- f "(i<=152)?[0+(i-0)*1.30464,0+(i-0)*1.30464,0+(i-0)*1.30464]:
- (i<=174)?[0+(i-152)*0,255+(i-152)*-12.1429,255+(i-152)*-6.66667]:
- (i<=187)?[0+(i-174)*0,0+(i-174)*21.25,115+(i-174)*-9.58333]:
- (i<=197)?[0+(i-187)*28.3333,255+(i-187)*0,0+(i-187)*0]:
- (i<=207)?[255+(i-197)*0,255+(i-197)*-28.3333,0+(i-197)*0]:
- (i<=216)?[255+(i-206)*-28.3333,0+(i-206)*0,0+(i-206)*0]:
- (i<=225)?[0+(i-216)*28.625,0+(i-216)*28.625,0+(i-216)*28.625]:
- (i<=236)?[242+(i-225)*-11.5,114+(i-225)*-11.4,195+(i-225)*-6.8]:
- (i<=256)?[255+(i-236)*0,255+(i-236)*0,0+(i-236)*13.4211]"
- fi
- if $6 rgb2srgb fi
- endl done
- fx_satellite_preview :
- fx_satellite $*
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement