☕ I am a software developer that loves coffee and bicycling, with an affection for state machines, event sourcing and functional programming
edgedetector's Introduction
edgedetector's People
edgedetector's Issues
Mät ljusstyrka på serversidan
Mät ljusstyrkan på bilden av provet för att säkerställa att tillräckligt med ljus har funnits vid fotograferingstillfället och korrekt färgåtergivning kan erhållas.
Balansera bildens pitch så att alla fält ligger på rätt ställe
Balansera bildens pitch så att alla fält ligger på rätt ställe och att alla fält har proportionerlig storlek.
Depends on #3
Skicka foto till server
Skicka
Skapa och retunera varje fält
Skapa och retunera varje fält med dess färgdata.
Depends on #5
Läs in hur kamerans sensorplan ligger i förhållande till prov
Läs in hur snett kamerans sensorplan låg i förhållande till mätplattan/provet vid fotograferingen (pitch)
Kan vara användbart att läsa in värden från kamerans accelerometer vid fotograferingstillfället, om sådan data finns tillgängling, och förutsatt att provet ligger på en plan yta.
- Jämför storlek på kontrollfält eller läs accelerometer-data
- Räkna ut pitch
Skapa ett sammanställt utlåtande baserat på de samlade värderna av alla fält
Skapa ett sammanställt utlåtande baserat på de samlade värderna av alla fält (Result)
Skapa ColorFunction och/eller ColorInterval
Just nu anges vilka färger som kan accepteras som indata för varje fält som en lite med RGB-värden i mappen permittedColors. Det är ett ganska enkelt och smidigt sätt när det rör sig om ett fåtal färger, men när det rör sig om väldigt många så måste man höja tröskelvärdet (större sannolikhet för fel) eller lägga till fler färger manuellt (väldigt tidskrävande). Att lägga till fler färger ökar dessutom antalet element i en algoritm som redan har väldigt hög tidskomplexitet.
Ett alternativ är istället att definera en funktion eller ett interval som beskriver rymden av tillåtna färger för en given reagens och dess fält. Exempelvis så är det tillåtna färgerna för ketoner definerat i filen KETONES.csv och har för tillfället detta innehåll:
254, 250, 202
254, 221, 188
223, 179, 196
177, 87, 141
110, 95, 114
81, 0, 77
Problemet är att vi missar många tillåtna färger i intervallet mellan dessa värden ovan. För att kompensera för detta måste vi istället öka tröskelvärdet för avvikelser från färgerna ovan, men det ökar som sagt också risken för felaktig indata. Ett trevligare alternativ hade varit att ange något i stil med
new ColorFunction(new Color(81, 0, 77), new Color(254, 250, 202), 15)
som avser lägsta färg, högsta färg och tröskelvärde. Tanken är att det skulle bli färre färger att ange, men ändå bättre precision om man kan ange ett lägre tröskelvärde.
Visa resultat hos användaren
Visa ett färdigt resultat hos användaren.
Depends on #9
Hantera otillräckligt ljus
Om en bild tagits med för låg ljussstyrka:
- Kasta ett undantag som innebär att användaren är tvungen att ta ett nytt foto
eller - Om möjligt kompensera för ljusbortfallet genom att öka ljusstyrkan med efterbehandling (kan även kräva ökad färgmättnad)
Skicka foto till server
Skicka ett foto av prov från mobiltelefonens mjukvara till server.
Analysera värdet på varje fält
Analysera värdet på varje enskilt fält och generera användbart medicinskt data för varje reagens.
- Kompensera värderna för skiftning i vitbalans
- Räkna ut genomsnittlig färg för all färgdata
- Matcha färg mot rätt utlåtande/diagnos
Depends on #6
Ta emot foto på server
Ta emot foto på prov som skickats från mobiltelefon och lägg denna i kö för bearbetning.
Lokalisera värde-fält
Lokalisera var i bilden fälten för de olika mätreagenserna ligger i förhållande till kontrollfälten. Detta är förmodligen redan fixa då det gjorts en generell metod för detta som fungerar för vitbalans, men det finns ännu inte testfall som kan bekräfta detta.
Retunera utlåtandet till frontend/klient
Retunera utlåtandet till frontend/klient från server. Det bör eventuellt finnas en målsättning för inom vilken tid detta bör ske.
Mät ljusstyrka på klientsida/app
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.