<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>Config/Metcamrc</title><revhistory><revision><revnumber>12</revnumber><date>2015-02-12 22:50:02</date><authorinitials>EricStempels</authorinitials></revision><revision><revnumber>11</revnumber><date>2015-02-12 22:49:03</date><authorinitials>EricStempels</authorinitials></revision><revision><revnumber>10</revnumber><date>2014-11-24 13:24:11</date><authorinitials>EricStempels</authorinitials></revision><revision><revnumber>9</revnumber><date>2014-11-24 13:23:30</date><authorinitials>EricStempels</authorinitials></revision><revision><revnumber>8</revnumber><date>2014-11-24 13:20:14</date><authorinitials>EricStempels</authorinitials></revision><revision><revnumber>7</revnumber><date>2014-11-24 13:00:47</date><authorinitials>EricStempels</authorinitials></revision><revision><revnumber>6</revnumber><date>2014-11-24 11:32:30</date><authorinitials>EricStempels</authorinitials></revision><revision><revnumber>5</revnumber><date>2014-10-16 14:57:52</date><authorinitials>EricStempels</authorinitials></revision><revision><revnumber>4</revnumber><date>2014-10-15 08:18:46</date><authorinitials>EricStempels</authorinitials></revision><revision><revnumber>3</revnumber><date>2014-10-14 09:32:34</date><authorinitials>EricStempels</authorinitials></revision><revision><revnumber>2</revnumber><date>2014-10-14 09:28:34</date><authorinitials>EricStempels</authorinitials></revision><revision><revnumber>1</revnumber><date>2014-10-14 09:18:33</date><authorinitials>EricStempels</authorinitials></revision></revhistory></articleinfo><section><title>Konfigurationsfilen metcamrc</title><para>Stationens allmänna konfiguration sparas i filen <code>/home/meteor/metcam/config/metcamrc</code>. Nedan finns korta utdrag ur filen med kommentarer om vad parametrarna har för effekt. </para><screen><![CDATA[[site]
]]><![CDATA[
sitename = "Your site name"
code = TST
longitude = 18.0
latitude = 60.0
height = 50.0
]]><![CDATA[
rootdir = /home/meteor/metcam]]></screen><para>Ovanstående avsnitt <emphasis role="strong">[site]</emphasis> reglerar de mest allmänna uppgifter för stationen. Den beskrivande stationsnamn <emphasis role="strong">sitename</emphasis> kommer att visas på stationens hemsida. Förkortningen <emphasis role="strong">code</emphasis> består av tre bokstaver/siffor, och visas på alla bilder som stationen producerar. Koordinaterna lagras i <emphasis role="strong">longitude, latitude</emphasis> och <emphasis role="strong">height.</emphasis> Sedan anger <emphasis role="strong">rootdir</emphasis> var själva programvaran finns. </para><screen><![CDATA[[grab]
]]><![CDATA[
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]]></screen><para>Under <emphasis role="strong">[grab]</emphasis> anges var programmet tar videosignalen ifrån. Under <emphasis role="strong">device</emphasis> 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 <emphasis role="strong">width</emphasis> och <emphasis role="strong">height</emphasis> storleken på bildrutorna som kameran/framegrabbern skall skicka till programmet. </para><para>Det går att välja en mindre del av bilden genom att välja värden för <emphasis role="strong">top</emphasis>, <emphasis role="strong">left</emphasis>, <emphasis role="strong">bottom</emphasis> och <emphasis role="strong">right</emphasis> som skiljer sig från standardvärden. Bilden kan roteras med hjälp av <emphasis role="strong">rotate</emphasis>, men det kommer dock ta extra processortid - det är bättre att rotera kameran fysiskt. </para><para>Med <emphasis role="strong">wait</emphasis> 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 <emphasis role="strong">quality</emphasis>. Övriga parametrar <emphasis role="strong">input, norm, trigger</emphasis> och <emphasis role="strong">once</emphasis> har ingen effekt på programmet längre, men finns med för att kunna vara kompatibel med tidigare versioner av programmet. </para><screen><![CDATA[[filestruct]
]]><![CDATA[
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
]]><![CDATA[
maskname = config/mask.jpg
trigexec = bin/mktriganim2]]></screen><para>Under <emphasis role="strong">[filestruct]</emphasis> 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. </para><para>Med <emphasis role="strong">archive</emphasis> lagras varje minut (beroende på <emphasis role="strong">nsum</emphasis> 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 <emphasis role="strong">longsumarchive</emphasis> och <emphasis role="strong">longmaxarchive</emphasis> visas var programmet lagrar långa integreringar (motsvarande <emphasis role="strong">nlongsum</emphasis> alternativt <emphasis role="strong">nlongmax</emphasis> gånger <emphasis role="strong">nsum</emphasis> frames, se nästa avsnitt). <emphasis role="strong">Diffmaskarchive</emphasis> 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 <emphasis role="strong">logpath</emphasis>, och <emphasis role="strong">trigpath</emphasis> och <emphasis role="strong">triglogpath</emphasis> används när programmet registrerar en händelse som kan vara en meteor, och skall lagra inspelningen. Slutligen anger <emphasis role="strong">maskname</emphasis> namnet på en bild som anger vilken del av synfältet som programmet skall bortse ifrån, och <emphasis role="strong">trigexec</emphasis> är det programmet som anropas efter att en händelse har spelats in, och behöver analyseras närmare. </para><para>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. </para><screen><![CDATA[[process]
]]><![CDATA[
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]]></screen><para>Avsnittet <emphasis role="strong">[process]</emphasis> 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 <emphasis role="strong">nsum</emphasis> anger hur många videoframes skall läsas innan en bild skrivs till <emphasis role="strong">archive</emphasis> (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. </para><para>Sedan anger <emphasis role="strong">nlongsum</emphasis>, <emphasis role="strong">nlongmax</emphasis> och <emphasis role="strong">ndiffmask</emphasis> antalet minuter efter vilka en bild skall skrivas till <emphasis role="strong">longsumarchive</emphasis>, <emphasis role="strong">longmaxarchive</emphasis> och <emphasis role="strong">diffmaskarchive</emphasis> (se ovan). Om <emphasis role="strong">keep_avg = 0</emphasis> sparar programmet istället max-värden som upmättes under den senaste minuten. Däremot om <emphasis role="strong">keep_avg = 1</emphasis>  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. </para><para>Värden på <emphasis role="strong">diff_trig_day</emphasis> och <emphasis role="strong">diff_trig_night</emphasis> 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 <emphasis role="strong">level_day</emphasis>. Programmet räknar varje minut ut ett medelvärde för hela bildrutan och jämför detta med värdet på <emphasis role="strong">level_day</emphasis>. Parametern kan lätt kalibreras genom att läsa  logfilen under <emphasis role="strong">logpath</emphasis> (se ovan), som innehåller bl a det upmätta bakgrundsvärdet. </para><para>Om programmet ser att en pixel avvikar signifikant <emphasis>flera bildrutor i rad,</emphasis> nämligen <emphasis role="strong">diff_consec_limit</emphasis> till antalet, betraktas händelsen som signifikan rörelse och inspelning börjar. De avvikande pixlarna måste dock förflytta sig minst <emphasis role="strong">diff_pos_thresh</emphasis> pixlar, och högst <emphasis role="strong">diff_pos_hilim</emphasis> 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 <emphasis role="strong">angle_hilim</emphasis> grader, delat med antalet bildrutor mellan punkterna. Standardvärdet 45 grader för <emphasis role="strong">angle_hilim</emphasis> rekommenderas starkt. </para><para>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 <emphasis role="strong">skip</emphasis>. Notera att valet av <emphasis role="strong">skip</emphasis> påverkar vilka värden som skall sättas in för <emphasis role="strong">diff_pos_thresh</emphasis> och <emphasis role="strong">diff_pos_hilim</emphasis>, eftersom dessa två parametrar inte skalas upp med värdet på <emphasis role="strong">skip</emphasis>. Dessutom är <emphasis role="strong">diff_pos_thresh</emphasis> beroende på bildernas spatiella upplösning. T ex, för en kamera med 1/2&quot; chip och 180 graders fält skall <emphasis role="strong">diff_pos_thresh</emphasis> sättas till 1.5. Däremot täcker 1/3&quot; chip med samma lins en mindre del av bildfältet, dock med högre upplösning, och då skall <emphasis role="strong">diff_pos_thresh</emphasis> sättas till 2.0. </para><para>När händelsen avslutas sparar programmet hela sekvensken, och dessutom ett antal bildrutor före (<emphasis role="strong">save_before_trigger</emphasis>) och efter (<emphasis role="strong">save_after_trigger</emphasis>) händelsen. Däremot, om händelsen överskrider programmets minnesbuffer (typiskt 10 sekunder), så sparas hela den tillgängliga bufferten utan hänsyn till <emphasis role="strong">save_after_trigger</emphasis>), och en eventuell forstättning kan komma att registreras som en ny händelse. </para><para>Parametern <emphasis role="strong">shadow_filter</emphasis> 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 <emphasis role="strong">scale</emphasis>, vanligtvis 128 (utav 255 djupnivåer). Parametern <emphasis role="strong">delay</emphasis> har ingen funktion i nuläget, den finns med för att konfigurationsfilen skall vara kompatibel med tidigare versioner. </para><screen><![CDATA[[annotation]
]]><![CDATA[
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]]></screen><para>Avsnittet <emphasis role="strong">[annotation]</emphasis> reglerar vilket datumstämpel som skall anges på bilderna (för tillfället enbart livebilden på nätet). Själva strängen definieras i <emphasis role="strong">text</emphasis>, och färgerna med de övriga parametrar. Värdet 0 motsvarar svart (till bakgrunden). Om bakgrundsvärdet sätts till -1 blir bakgrunden transparent. </para><screen><![CDATA[[ftp]
]]><![CDATA[
dir  = /home/meteor/metcam/data
file = snap.jpg
tmp  = uploading.jpeg
passive = 1
debug = 0
auto = 0
local = 1
ssh = 0]]></screen><para>Avsnittet <emphasis role="strong">[ftp]</emphasis> härstammar från programmet <emphasis>webcam</emphasis> (ett rörelsedetekterande program för webbkameror, som används som förebilde för <emphasis>metcam</emphasis>), 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 <emphasis role="strong">dir</emphasis>, med namnet <emphasis role="strong">file</emphasis>. Det rekommenderas inte att ändra dessa värden. Notera att <emphasis role="strong">dir</emphasis> skall stämma överens med <emphasis role="strong">rootdir</emphasis> i avsnittet <emphasis role="strong">[site]</emphasis>. </para><screen><![CDATA[[www]
]]><![CDATA[
site_url    = "http://yourhostname/~meteor"
content_dir = "www/content"
style_file  = "www/style/style.css"]]></screen><para>Slutligen anger <emphasis role="strong">site_url</emphasis> under avsnittet <emphasis role="strong">[www]</emphasis> var den lokala hemsidan till denna station finns. Om man väljer att installera de tillhörande paketen (se kapitlet <ulink url="https://www.astro.uu.se/meteorwiki/Config/Metcamrc/meteorwiki/Software#">Software</ulink>) 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 <emphasis>cronjobs</emphasis> för att ständigt uppdatera data på webservern, se <ulink url="https://www.astro.uu.se/meteorwiki/Config/Metcamrc/meteorwiki/Config/CronJobs#">Configurera cronjobs</ulink>. </para></section></article>