Konfigurationsfilen metcamrc

Stationens allmänna konfiguration sparas i filen /home/meteor/metcam/config/metcamrc. Nedan finns korta utdrag ur filen med kommentarer om vad parametrarna har för effekt.

[site]

sitename = "Your site name"
code = TST
longitude = 18.0
latitude = 60.0
height = 50.0

rootdir = /home/meteor/metcam

Ovanstående avsnitt [site] reglerar de mest allmänna uppgifter för stationen. Den beskrivande stationsnamn sitename kommer att visas på stationens hemsida. Förkortningen code består av tre bokstaver/siffor, och visas på alla bilder som stationen producerar. Koordinaterna lagras i longitude, latitude och height. Sedan anger rootdir var själva programvaran finns.

[grab]

device = /dev/video0
input = 0       ; Currently not used
norm = pal      ; Currently not used
width  = 720
height = 524
wait = 0
rotate = 0
top = 0
left = 0
bottom = -1
right = -1
quality = 100
trigger = 0
once = 0

Under [grab] anges var programmet tar videosignalen ifrån. Under device skall anges den V4L-kamera som överensstämmer med meteorkameran eller den tillhörande framegrabber. Om du bara har en kamera ansluten är standardvärdet troligen korrekt. Sedan anges med width och height storleken på bildrutorna som kameran/framegrabbern skall skicka till programmet.

Det går att välja en mindre del av bilden genom att välja värden för top, left, bottom och right som skiljer sig från standardvärden. Bilden kan roteras med hjälp av rotate, men det kommer dock ta extra processortid - det är bättre att rotera kameran fysiskt.

Med wait kommer programmet vänta ett antal sekunder för att ge kameran möjlighet att komma igång. Kvaliten på jpeg-bilderna som produceras ställs med quality. Övriga parametrar input, norm, trigger och once har ingen effekt på programmet längre, men finns med för att kunna vara kompatibel med tidigare versioner av programmet.

[filestruct]

archive = data/day/snap%Y-%m-%d-%H-%M-%S.jpg
longsumarchive = data/longsum/longsum%Y-%m-%d-%H-%M-%S.jpg
longmaxarchive = data/longmax/longmax%Y-%m-%d-%H-%M-%S.jpg
#diffmaskarchive = data/diffmask/diffmask-%H.jpg
logpath = data/log/%F.log
trigpath = data/trigger/trig%s-%03d.jpg
triglogpath = data/trigger/trig%s.log

maskname = config/mask.jpg
trigexec = bin/mktriganim2

Under [filestruct] anges var programmet skall lagra sina olika produkter. Det rekommenderas att inte ändra i denna filstruktur, eftersom en del av skripten som bearbetar data i efterhand använder sig av denna filstruktur.

Med archive lagras varje minut (beroende på nsum i följande avsnitt) en bild på hur himlen såg ut under den senaste minuten. Filnamnet innehåller datumstämpel och kan därför användas för att skapa en film över den senaste nattens himmel. Med longsumarchive och longmaxarchive visas var programmet lagrar långa integreringar (motsvarande nlongsum alternativt nlongmax gånger nsum frames, se nästa avsnitt). Diffmaskarchive används för att kunna lokalisera pixlar som varierar onödigt mycket, och rekommenderas inte under vanlig drift. En diagnostisk logfil med info om bl a himlens ljusstyrka skrivs till logpath, och trigpath och triglogpath används när programmet registrerar en händelse som kan vara en meteor, och skall lagra inspelningen. Slutligen anger maskname namnet på en bild som anger vilken del av synfältet som programmet skall bortse ifrån, och trigexec är det programmet som anropas efter att en händelse har spelats in, och behöver analyseras närmare.

Om något av ovanstående alternativ kommenteras ut, kommer den produkten inte att lagras alls. Detta kan vara en lösning om man av någon anledning vill begränsa datamängden som programmet producerar.

[process]

nsum = 1500
nlongsum = 10
nlongmax = 60
ndiffmask = 10
keep_avg = 0
diff_trig_day = 1000.0
diff_trig_night = 0.90
level_day = 90
shadow_filter = 3
diff_consec_limit = 3
diff_pos_thresh = 2.0
diff_pos_hilim = 50.0
angle_hilim = 45.0
save_before_trigger = 15
save_after_trigger = 25
delay = 0
skip = 3
scale = 128

Avsnittet [process] sätter upp parametrar som avgör vilka bilder som skall analyseras av programmet, vilka gränsvärden som anger att en intressant händelse har inträffat, och hur data skall lagras. Parametern nsum anger hur många videoframes skall läsas innan en bild skrivs till archive (förra avsnitt). Vanligtvis motsvarar detta en minut (60 x 25 fps = 1200 frames per minut). Om din framegrabber har en annan bildfrekvens behöver denna siffra anpassas.

Sedan anger nlongsum, nlongmax och ndiffmask antalet minuter efter vilka en bild skall skrivas till longsumarchive, longmaxarchive och diffmaskarchive (se ovan). Om keep_avg = 0 sparar programmet istället max-värden som upmättes under den senaste minuten. Däremot om keep_avg = 1 kommer programmet att lagra en integrerad (summerad) bild som 'minutbild'. En maxbild är nyttigare om man vill kontrollera i efterhand om programmet sett/missat något meteorspår, medan en integrerad bild ger en bättre kontrast och snyggare bildserie, och kan vara användbar om man vill kalibrera kamerans stjärnpositioner.

Värden på diff_trig_day och diff_trig_night motsvarar hur många sigma en pixel måste avvika från sitt långtidsmedelvärde för att programmet skall betrakta pixeln som signifikant avvikande. Det finns olika värden för dag och natt, och gränsen mellan dag och natt ställs med level_day. Programmet räknar varje minut ut ett medelvärde för hela bildrutan och jämför detta med värdet på level_day. Parametern kan lätt kalibreras genom att läsa logfilen under logpath (se ovan), som innehåller bl a det upmätta bakgrundsvärdet.

Om programmet ser att en pixel avvikar signifikant flera bildrutor i rad, nämligen diff_consec_limit till antalet, betraktas händelsen som signifikan rörelse och inspelning börjar. De avvikande pixlarna måste dock förflytta sig minst diff_pos_thresh pixlar, och högst diff_pos_hilim pixlar - detta för att kräva att rörelsen är någorlunda linjär, och inte att händelsen inte består av pixlar som ligger slumpmässigt fördelad över hela bilden. Dessutom skall pixlarna ligga i linje, så att vilkeln mellan pixlar inte avvikar mer än angle_hilim grader, delat med antalet bildrutor mellan punkterna. Standardvärdet 45 grader för angle_hilim rekommenderas starkt.

För att spara processorkraft kan programmet välja att inte analyserar alla bildrutor för rörelse, men instället hoppa över ett visst antal bilder, som anges av skip. Notera att valet av skip påverkar vilka värden som skall sättas in för diff_pos_thresh och diff_pos_hilim, eftersom dessa två parametrar inte skalas upp med värdet på skip. Dessutom är diff_pos_thresh beroende på bildernas spatiella upplösning. T ex, för en kamera med 1/2" chip och 180 graders fält skall diff_pos_thresh sättas till 1.5. Däremot täcker 1/3" chip med samma lins en mindre del av bildfältet, dock med högre upplösning, och då skall diff_pos_thresh sättas till 2.0.

När händelsen avslutas sparar programmet hela sekvensken, och dessutom ett antal bildrutor före (save_before_trigger) och efter (save_after_trigger) händelsen. Däremot, om händelsen överskrider programmets minnesbuffer (typiskt 10 sekunder), så sparas hela den tillgängliga bufferten utan hänsyn till save_after_trigger), och en eventuell forstättning kan komma att registreras som en ny händelse.

Parametern shadow_filter används för att filtrera ut mörka fläcker mot en ljus bakgrund, t ex fåglar dagtid. Bilderna som sparas för publicering på nätet skalas så att medelvärdet är minst lika med scale, vanligtvis 128 (utav 255 djupnivåer). Parametern delay har ingen funktion i nuläget, den finns med för att konfigurationsfilen skall vara kompatibel med tidigare versioner.

[annotation]

text = %Y-%m-%d %H:%M:%S %Z
fg_red = 255
fg_green = 255
fg_blue = 255
bg_red = 0
bg_green = 0
bg_blue = 0

Avsnittet [annotation] reglerar vilket datumstämpel som skall anges på bilderna (för tillfället enbart livebilden på nätet). Själva strängen definieras i text, och färgerna med de övriga parametrar. Värdet 0 motsvarar svart (till bakgrunden). Om bakgrundsvärdet sätts till -1 blir bakgrunden transparent.

[ftp]

dir  = /home/meteor/metcam/data
file = snap.jpg
tmp  = uploading.jpeg
passive = 1
debug = 0
auto = 0
local = 1
ssh = 0

Avsnittet [ftp] härstammar från programmet webcam (ett rörelsedetekterande program för webbkameror, som används som förebilde för metcam), och dessa parametrar bestämmer var programmet skall spara minutbilderna för publicering på nätet. Ovanstående värden ser till att bilderna sparas till filmappen dir, med namnet file. Det rekommenderas inte att ändra dessa värden. Notera att dir skall stämma överens med rootdir i avsnittet [site].

[www]

site_url    = "http://yourhostname/~meteor"
content_dir = "www/content"
style_file  = "www/style/style.css"

Slutligen anger site_url under avsnittet [www] var den lokala hemsidan till denna station finns. Om man väljer att installera de tillhörande paketen (se kapitlet Software) kommer det där finnas livebilder, filmer för varje dygn, senaste händelser och mycket mer. Detta kräver dock också att det installeras såkallade cronjobs för att ständigt uppdatera data på webservern, se Configurera cronjobs.