Commit 6c637833 authored by Randika Monarawila's avatar Randika Monarawila

Merge branch 'Randika-FInal-Changes' into 'master'

Randika final changes

See merge request !39
parents 5133ac3c b8422f8c
...@@ -344,7 +344,9 @@ def predictShapePattern(): ...@@ -344,7 +344,9 @@ def predictShapePattern():
return jsonify(response) return jsonify(response)
# Reasoning IQ evaluation # Reasoning IQ evaluation
@app.route('/predictPictureConcept', methods = ['POST','GET'])
@app.route('/predictPictureConcept', methods=['POST', 'GET'])
@cross_origin() @cross_origin()
def predictPictureConcept(): def predictPictureConcept():
if request.method == 'POST': if request.method == 'POST':
...@@ -356,7 +358,7 @@ def predictPictureConcept(): ...@@ -356,7 +358,7 @@ def predictPictureConcept():
return jsonify({'error: no file'}) return jsonify({'error: no file'})
try: try:
file.save("./"+file.filename) file.save("./"+file.filename)
prediction = transform_audio(file.filename) prediction = transform_audio(file.filename)
data = {'prediction': prediction} data = {'prediction': prediction}
...@@ -371,7 +373,8 @@ def predictPictureConcept(): ...@@ -371,7 +373,8 @@ def predictPictureConcept():
return jsonify({'error: Error during pipeline execution'}) return jsonify({'error: Error during pipeline execution'})
return jsonify({'result: test'}) return jsonify({'result: test'})
@app.route('/predictArithmetic', methods = ['POST','GET'])
@app.route('/predictArithmetic', methods=['POST', 'GET'])
@cross_origin() @cross_origin()
def predictArithmetic(): def predictArithmetic():
if request.method == 'POST': if request.method == 'POST':
...@@ -383,7 +386,7 @@ def predictArithmetic(): ...@@ -383,7 +386,7 @@ def predictArithmetic():
return jsonify({'error: no file'}) return jsonify({'error: no file'})
try: try:
file.save("./"+file.filename) file.save("./"+file.filename)
prediction = transform_audio(file.filename) prediction = transform_audio(file.filename)
data = {'prediction': prediction} data = {'prediction': prediction}
...@@ -398,9 +401,11 @@ def predictArithmetic(): ...@@ -398,9 +401,11 @@ def predictArithmetic():
return jsonify({'error: Error during pipeline execution'}) return jsonify({'error: Error during pipeline execution'})
return jsonify({'result: test'}) return jsonify({'result: test'})
@app.route('/mentalChromScores', methods=['POST']) @app.route('/mentalChromScores', methods=['POST'])
@cross_origin() @cross_origin()
def mentalChromScores(): def mentalChromScores():
body = request.json body = request.json
activityName = body['activityName'] activityName = body['activityName']
score = body['score'] score = body['score']
...@@ -408,6 +413,8 @@ def mentalChromScores(): ...@@ -408,6 +413,8 @@ def mentalChromScores():
predResult = body['predResult'] predResult = body['predResult']
createdTime = body['createdTime'] createdTime = body['createdTime']
totalTime = body['totalTime'] totalTime = body['totalTime']
candidateID = body['candidateID']
answerImage = body['answerImage']
# db.users.insert_one({ # db.users.insert_one({
db.db['mentalChronomrtryScore'].insert_one({ db.db['mentalChronomrtryScore'].insert_one({
"activityName": activityName, "activityName": activityName,
...@@ -416,13 +423,17 @@ def mentalChromScores(): ...@@ -416,13 +423,17 @@ def mentalChromScores():
"predResult": predResult, "predResult": predResult,
"createdTime": createdTime, "createdTime": createdTime,
"totalTime": totalTime, "totalTime": totalTime,
"candidateID": candidateID,
"answerImage": answerImage
}) })
return jsonify({ return jsonify({
'status': 'MentalCrom scores are added to the system successfully!', 'status': 'MentalCrom scores are added to the system successfully!',
}) })
# Knowledge IQ evaluation # Knowledge IQ evaluation
@app.route('/predictKnowledgeIq', methods = ['POST','GET'])
@app.route('/predictKnowledgeIq', methods=['POST', 'GET'])
@cross_origin() @cross_origin()
def predictKnowledgeIq(): def predictKnowledgeIq():
if request.method == 'POST': if request.method == 'POST':
...@@ -437,7 +448,8 @@ def predictKnowledgeIq(): ...@@ -437,7 +448,8 @@ def predictKnowledgeIq():
file.save("./"+file.filename) file.save("./"+file.filename)
prediction = transform_audio(file.filename) prediction = transform_audio(file.filename)
data = {'prediction': prediction} data = {'prediction': prediction}
score = calKnowledgeIqActivityScore(activityName, questionIndex, prediction) score = calKnowledgeIqActivityScore(
activityName, questionIndex, prediction)
db.db['knowledgeIQScore'].insert_one({ db.db['knowledgeIQScore'].insert_one({
"activityName": activityName, "activityName": activityName,
"questionIndex": questionIndex, "questionIndex": questionIndex,
......
...@@ -20,18 +20,19 @@ const CodingContainer = () => { ...@@ -20,18 +20,19 @@ const CodingContainer = () => {
const [activityCompleted, setActivityCompleted] = useState(false); const [activityCompleted, setActivityCompleted] = useState(false);
const [finalScore, setFinalScore] = useState(0); const [finalScore, setFinalScore] = useState(0);
const [letterPatternANswers, setLetterPatternANswers] = useState([]); const [letterPatternANswers, setLetterPatternANswers] = useState([]);
const [answerImage] = useState([]);
const [actualResult, setActualResul] = useState([ const [actualResult, setActualResul] = useState([
"square", "square",
// "circle", // "circle",
"triangle", // "triangle",
// "circle", // "circle",
"circle", "circle",
// "triangle", // "triangle",
"circle", // "circle",
// "square", // "square",
"circle", "circle",
// "circle", // "circle",
"square", // "square",
// "triangle", // "triangle",
"triangle", "triangle",
]); ]);
...@@ -40,15 +41,15 @@ const CodingContainer = () => { ...@@ -40,15 +41,15 @@ const CodingContainer = () => {
const [drawingPad, setDrawingPad] = useState([ const [drawingPad, setDrawingPad] = useState([
"c", "c",
// "s", // "s",
"c", // "c",
// "r", // "r",
"s", "s",
// "c", // "c",
"r", // "r",
// "c", // "c",
"c", "c",
// "s", // "s",
"c", // "c",
// "s", // "s",
"s", "s",
]); ]);
...@@ -64,6 +65,10 @@ const CodingContainer = () => { ...@@ -64,6 +65,10 @@ const CodingContainer = () => {
"Content-Type": "application/json", "Content-Type": "application/json",
}, },
}; };
let candidateID = null;
if (localStorage) {
candidateID = localStorage.getItem("candidateID");
}
try { try {
const payload = { const payload = {
activityName: activityName, activityName: activityName,
...@@ -72,6 +77,8 @@ const CodingContainer = () => { ...@@ -72,6 +77,8 @@ const CodingContainer = () => {
predResult: letterPatternANswers, predResult: letterPatternANswers,
totalTime: time, totalTime: time,
createdTime: Date(), createdTime: Date(),
candidateID: candidateID,
answerImage: answerImage,
}; };
await API.post("mentalChromScores", JSON.stringify(payload), headerConfig) await API.post("mentalChromScores", JSON.stringify(payload), headerConfig)
...@@ -139,6 +146,10 @@ const CodingContainer = () => { ...@@ -139,6 +146,10 @@ const CodingContainer = () => {
.toDataURL("image/png") .toDataURL("image/png")
.replace("data:image/png;base64,", ""); .replace("data:image/png;base64,", "");
answerImage.push(
sigCanvas.current.getTrimmedCanvas().toDataURL("image/png")
);
let message = { image: image }; let message = { image: image };
sigCanvas.current.clear(); sigCanvas.current.clear();
await API.post("predicthanddrwnshapes", JSON.stringify(message)) await API.post("predicthanddrwnshapes", JSON.stringify(message))
...@@ -153,15 +164,15 @@ const CodingContainer = () => { ...@@ -153,15 +164,15 @@ const CodingContainer = () => {
var codingURLS = [ var codingURLS = [
"https://i.ibb.co/9cwf5x2/image.png", "https://i.ibb.co/9cwf5x2/image.png",
// "https://i.ibb.co/JFNZwCz/1.png", // "https://i.ibb.co/JFNZwCz/1.png",
"https://i.ibb.co/ykdhHM6/2.png", // "https://i.ibb.co/ykdhHM6/2.png",
// "https://i.ibb.co/KL9JDkB/3.png", // "https://i.ibb.co/KL9JDkB/3.png",
"https://i.ibb.co/9Y13xQ9/6.png", "https://i.ibb.co/9Y13xQ9/6.png",
// "https://i.ibb.co/b5B7js8/7.png", // "https://i.ibb.co/b5B7js8/7.png",
"https://i.ibb.co/2SzzMCz/8.png", // "https://i.ibb.co/2SzzMCz/8.png",
// "https://i.ibb.co/tc7dPJ0/9.png", // "https://i.ibb.co/tc7dPJ0/9.png",
"https://i.ibb.co/3kSQzMM/13.png", "https://i.ibb.co/3kSQzMM/13.png",
// "https://i.ibb.co/HPPMv94/14.png", // "https://i.ibb.co/HPPMv94/14.png",
"https://i.ibb.co/KLbgtTx/19.png", // "https://i.ibb.co/KLbgtTx/19.png",
// "https://i.ibb.co/kKBgmB2/18.png", // "https://i.ibb.co/kKBgmB2/18.png",
"https://i.ibb.co/93DNN1q/17.png", "https://i.ibb.co/93DNN1q/17.png",
]; ];
......
import React from "react"; import React, { useEffect } from "react";
import LetterPatternContainer from "./LetterPatternContainer"; import LetterPatternContainer from "./LetterPatternContainer";
const LetterPattern = ({ nextActivity }) => { const LetterPattern = ({ nextActivity }) => {
// useEffect(() => {
// var candidateID = null;
// if (localStorage) {
// candidateID = localStorage.getItem("candidateID");
// }
// alert(candidateID);
// });
return ( return (
<div className="h-full "> <div className="h-full ">
<LetterPatternContainer /> <LetterPatternContainer />
......
...@@ -16,7 +16,9 @@ const LetterPatternContainer = ({ nextActivity }) => { ...@@ -16,7 +16,9 @@ const LetterPatternContainer = ({ nextActivity }) => {
const [activityCompleted, setActivityCompleted] = useState(false); const [activityCompleted, setActivityCompleted] = useState(false);
const [finalScore, setFinalScore] = useState(0); const [finalScore, setFinalScore] = useState(0);
const [letterPatternANswers] = useState([]); const [letterPatternANswers] = useState([]);
const [actualResult] = useState(["B", "R", "U", "Y", "B", "P", "D"]); const [answerImage] = useState([]);
// const [actualResult] = useState(["B", "R", "U", "Y", "B", "P", "D"]);
const [actualResult] = useState(["B", "U", "B", "D"]);
const [isCancelled, setIsCancelled] = useState(false); const [isCancelled, setIsCancelled] = useState(false);
var finalResult = 0; var finalResult = 0;
...@@ -30,6 +32,11 @@ const LetterPatternContainer = ({ nextActivity }) => { ...@@ -30,6 +32,11 @@ const LetterPatternContainer = ({ nextActivity }) => {
"Content-Type": "application/json", "Content-Type": "application/json",
}, },
}; };
let candidateID = null;
if (localStorage) {
candidateID = localStorage.getItem("candidateID");
}
try { try {
const payload = { const payload = {
activityName: activityName, activityName: activityName,
...@@ -38,6 +45,8 @@ const LetterPatternContainer = ({ nextActivity }) => { ...@@ -38,6 +45,8 @@ const LetterPatternContainer = ({ nextActivity }) => {
predResult: letterPatternANswers, predResult: letterPatternANswers,
totalTime: time, totalTime: time,
createdTime: Date(), createdTime: Date(),
candidateID: candidateID,
answerImage: answerImage,
}; };
await API.post("mentalChromScores", JSON.stringify(payload), headerConfig) await API.post("mentalChromScores", JSON.stringify(payload), headerConfig)
...@@ -105,6 +114,10 @@ const LetterPatternContainer = ({ nextActivity }) => { ...@@ -105,6 +114,10 @@ const LetterPatternContainer = ({ nextActivity }) => {
.toDataURL("image/png") .toDataURL("image/png")
.replace("data:image/png;base64,", ""); .replace("data:image/png;base64,", "");
answerImage.push(
sigCanvas.current.getTrimmedCanvas().toDataURL("image/png")
);
let message = { image: image }; let message = { image: image };
sigCanvas.current.clear(); sigCanvas.current.clear();
await API.post("predictletters", JSON.stringify(message)) await API.post("predictletters", JSON.stringify(message))
...@@ -116,13 +129,23 @@ const LetterPatternContainer = ({ nextActivity }) => { ...@@ -116,13 +129,23 @@ const LetterPatternContainer = ({ nextActivity }) => {
console.log(err); console.log(err);
}); });
}; };
// var patternURLS = [
// "https://i.ibb.co/XV9RV1M/letter-Pattern-1.png",
// "https://i.ibb.co/4Y3WdDW/letter-Pattern-2.png",
// "https://i.ibb.co/D4VGM7J/letter-Pattern-3.png",
// "https://i.ibb.co/xsVbwyw/letter-Pattern-4.png",
// "https://i.ibb.co/c3wVB5Z/letter-Pattern-5.png",
// "https://i.ibb.co/1K0YCvz/letter-Pattern-6.png",
// "https://i.ibb.co/wYqYDjb/letter-Pattern-7.png",
// ];
var patternURLS = [ var patternURLS = [
"https://i.ibb.co/XV9RV1M/letter-Pattern-1.png", "https://i.ibb.co/XV9RV1M/letter-Pattern-1.png",
"https://i.ibb.co/4Y3WdDW/letter-Pattern-2.png", // "https://i.ibb.co/4Y3WdDW/letter-Pattern-2.png",
"https://i.ibb.co/D4VGM7J/letter-Pattern-3.png", "https://i.ibb.co/D4VGM7J/letter-Pattern-3.png",
"https://i.ibb.co/xsVbwyw/letter-Pattern-4.png", // "https://i.ibb.co/xsVbwyw/letter-Pattern-4.png",
"https://i.ibb.co/c3wVB5Z/letter-Pattern-5.png", "https://i.ibb.co/c3wVB5Z/letter-Pattern-5.png",
"https://i.ibb.co/1K0YCvz/letter-Pattern-6.png", // "https://i.ibb.co/1K0YCvz/letter-Pattern-6.png",
"https://i.ibb.co/wYqYDjb/letter-Pattern-7.png", "https://i.ibb.co/wYqYDjb/letter-Pattern-7.png",
]; ];
......
...@@ -7,7 +7,6 @@ import PCB2 from "./img/PCB2.png"; ...@@ -7,7 +7,6 @@ import PCB2 from "./img/PCB2.png";
import PCB3 from "./img/PCB3.png"; import PCB3 from "./img/PCB3.png";
import PCB4 from "./img/PCB4.png"; import PCB4 from "./img/PCB4.png";
import PCA1 from "./img/PCA1.png"; import PCA1 from "./img/PCA1.png";
import PCA2 from "./img/PCA2.png";
import PCA3 from "./img/PCA3.png"; import PCA3 from "./img/PCA3.png";
import PCA4 from "./img/PCA4.png"; import PCA4 from "./img/PCA4.png";
// import { PCA1, PCB1 } from "./img/"; // import { PCA1, PCB1 } from "./img/";
...@@ -16,19 +15,20 @@ import axios from "axios"; ...@@ -16,19 +15,20 @@ import axios from "axios";
const PairCancerlationContainer = () => { const PairCancerlationContainer = () => {
const [src, selectFile] = useState(null); const [src, selectFile] = useState(null);
const [activityCompleted, setActivityCompleted] = useState(false); const [activityCompleted, setActivityCompleted] = useState(false);
const [Pair, setPair] = useState([PCA1, PCA2, PCA3, PCA4]); const [Pair, setPair] = useState([PCA1, PCA3, PCA4]);
const [picture, setPicture] = useState([PCB1, PCB2, PCB3, PCB4]); const [picture, setPicture] = useState([PCB1, PCB3, PCB4]);
const [finalScore, setFinalScore] = useState([PCB1, PCB2, PCB3, PCB4]); const [finalScore, setFinalScore] = useState(0);
const [predResult] = useState([]); const [predResult] = useState([]);
const [finalResultInPair, setFinalResultInPair] = useState(null);
const [actualResult, setActualResult] = useState([ const [actualResult, setActualResult] = useState([
["star", "circle"], ["star", "circle"],
["triangle", "square"],
["triangle", "star"], ["triangle", "star"],
["star", "star"], ["star", "star"],
]); ]);
let results = 0; let results = 0;
const [activityIndex, setActivityIndex] = useState(0); const [activityIndex, setActivityIndex] = useState(0);
const [answerImage] = useState([]);
const handleFileChange = (e) => { const handleFileChange = (e) => {
selectFile(URL.createObjectURL(e.target.files[0])); selectFile(URL.createObjectURL(e.target.files[0]));
}; };
...@@ -50,14 +50,20 @@ const PairCancerlationContainer = () => { ...@@ -50,14 +50,20 @@ const PairCancerlationContainer = () => {
"Content-Type": "application/json", "Content-Type": "application/json",
}, },
}; };
let candidateID = null;
if (localStorage) {
candidateID = localStorage.getItem("candidateID");
}
try { try {
const payload = { const payload = {
activityName: activityName, activityName: activityName,
score: finalResult, score: result,
actualResult: actualResult, actualResult: actualResult,
predResult: result, predResult: predResult,
totalTime: time, totalTime: time,
createdTime: Date(), createdTime: Date(),
candidateID: candidateID,
answerImage: answerImage,
}; };
await API.post("mentalChromScores", JSON.stringify(payload), headerConfig) await API.post("mentalChromScores", JSON.stringify(payload), headerConfig)
...@@ -109,7 +115,7 @@ const PairCancerlationContainer = () => { ...@@ -109,7 +115,7 @@ const PairCancerlationContainer = () => {
}); });
const getCroppedImg = async () => { const getCroppedImg = async () => {
if (activityIndex === 3) { if (activityIndex === 2) {
setActivityCompleted(true); setActivityCompleted(true);
setIsCancelled(true); setIsCancelled(true);
setTimeout(() => { setTimeout(() => {
...@@ -140,8 +146,10 @@ const PairCancerlationContainer = () => { ...@@ -140,8 +146,10 @@ const PairCancerlationContainer = () => {
let imagetoPred = base64.replace("data:image/png;base64,", ""); let imagetoPred = base64.replace("data:image/png;base64,", "");
answerImage.push(canvas.toDataURL("image/png"));
// console.log(base64); // console.log(base64);
if (activityIndex < 3) { if (activityIndex < 2) {
setActivityIndex(activityIndex + 1); setActivityIndex(activityIndex + 1);
} }
...@@ -156,15 +164,18 @@ const PairCancerlationContainer = () => { ...@@ -156,15 +164,18 @@ const PairCancerlationContainer = () => {
console.log(err); console.log(err);
}); });
}; };
let res = 0; let res = 0;
let count = 1; let count = 1;
const generateScore = () => { const generateScore = () => {
for (let i = 0; i < actualResult.length; i++) { for (let i = 0; i < actualResult.length; i++) {
if (JSON.stringify(actualResult[i]) === JSON.stringify(predResult[i])) { if (JSON.stringify(actualResult[i]) === JSON.stringify(predResult[i])) {
res += 1; res += 1;
alert(res);
// setFinalScore(result); // setFinalScore(result);
} }
} }
// finalResult = result; // finalResult = result;
setFinalScore(res); setFinalScore(res);
console.log(res); console.log(res);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment