Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New frontend completed #3

Open
wants to merge 65 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
7bde2d1
added labels for psg
OSHS2019 Jun 2, 2021
ecac2a3
Horizontal scaling is now based on the the type of files, indicated i…
OSHS2019 Jun 7, 2021
e670928
added merge
OSHS2019 Aug 12, 2021
de222e5
added some bug fixes
OSHS2019 Aug 17, 2021
2987f69
removed unessisary buttons
OSHS2019 Aug 30, 2021
e9396d4
Add bcrypt to dependencies in package.json
OSHS2019 Sep 23, 2021
99996e3
Allow normal user to update preferences
OSHS2019 Oct 7, 2021
8ece814
Add x-axis timescale selection
OSHS2019 Oct 7, 2021
6bc6e56
Downsample EDF file to load greater window length
OSHS2019 Nov 1, 2021
45e4276
added 2 recordings feature without time series annotater involved
OSHS2019 Sep 3, 2021
a5baf63
Update .gitignore to ignore VSCode files
OSHS2019 Sep 29, 2021
adc28d6
Fix two recording display bugs
OSHS2019 Sep 29, 2021
16d79cc
Support multi-recording display (database schema updated)
OSHS2019 Nov 17, 2021
9ff860d
Implement crosshair time sync feature
OSHS2019 Nov 20, 2021
e580a6a
Fix duplicate channel names differentiation problem
OSHS2019 Nov 21, 2021
be55fd2
Fix multi-files pagination bugs and crosshair display bugs
OSHS2019 Nov 21, 2021
e4cfeb0
Update down-sampling methods and related functions
OSHS2019 Dec 1, 2021
693d297
Fix bugs on displaying multi-recordings with different length
OSHS2019 Dec 1, 2021
2d3cd65
Implement no-timelock sync feature
OSHS2019 Dec 10, 2021
b56a224
Fix multi-recording montage display problem and MUSE down-sampling error
OSHS2019 Dec 30, 2021
2c6fb0f
Code cleanup and add comments
OSHS2019 Jan 7, 2022
518d9d1
added some documentation
OSHS2019 Jan 10, 2022
a8f72ea
fixed conflicts
OSHS2019 Jan 10, 2022
b6d1855
added some docs
OSHS2019 Jan 10, 2022
c801e2c
refactored amplitude adjustment menu
ElhamBadri2411 Jan 11, 2022
b829dcc
cleaned up jQuery selectors and implemented xy-zoom feature
ElhamBadri2411 Jan 12, 2022
ac19bf5
finished refactoring amplitude adjustment
ElhamBadri2411 Jan 18, 2022
28a0a38
added scaling to screen features, temporarily removed zoom feature wh…
ElhamBadri2411 Jan 20, 2022
be89071
fixed annotation feature
ElhamBadri2411 Mar 7, 2022
a906a20
added support for more filetypes
ElhamBadri2411 Mar 21, 2022
41ca923
fixed bug where only graph line would move up or down if all values w…
ElhamBadri2411 Mar 23, 2022
fb0dbac
improved annotation menu
ElhamBadri2411 Mar 25, 2022
23c648d
improved annotation menu even more
ElhamBadri2411 Mar 25, 2022
6eb48f8
annotations can now be saved to db
ElhamBadri2411 Mar 28, 2022
3b4bbc3
made annotatin menu look better
ElhamBadri2411 Apr 8, 2022
e77f417
removed some buttons from the UI and added reverse polarity feature
ElhamBadri2411 Apr 9, 2022
752a366
added reverse polarity feature translation feature
ElhamBadri2411 Apr 9, 2022
05e817c
added change point all fix
ElhamBadri2411 Apr 9, 2022
9e4efaa
channels displayed is now the intersection of ones specified in Basic…
ElhamBadri2411 Apr 20, 2022
e42cd2c
fixed git issue
ElhamBadri2411 Apr 20, 2022
e54c50b
added popup for time difference when doing crosshair time sync
ElhamBadri2411 Apr 22, 2022
a5c813e
fixed time sync addition
ElhamBadri2411 Apr 26, 2022
292aaf0
fixed crosshair alignment difference bug
ElhamBadri2411 Apr 28, 2022
9b6d785
fixed cpoint all bug and added basic files for file management
ElhamBadri2411 May 4, 2022
1bb3c91
fixed specific channels rendering bug
ElhamBadri2411 May 4, 2022
d6e64aa
trying to fix sampling rate issue
ElhamBadri2411 May 5, 2022
83f7afd
fixed some bugs
ElhamBadri2411 May 5, 2022
87ea588
fixed specific channels rendering bug
ElhamBadri2411 May 5, 2022
f3081cd
fixed sampling rate bug
ElhamBadri2411 May 6, 2022
2bde2a4
Correctly resolved sample rate mismatch -- the filtering function in …
OSHS2019 May 10, 2022
6b0b161
began work on universal annotation box
OSHS2019 May 11, 2022
f98600d
crosshair multi-page persistence now implemented, but has some strang…
OSHS2019 May 16, 2022
1ed3298
preliminary working implementation of the universal annotation line
OSHS2019 May 17, 2022
6181750
nixed confidence box and optimized UI
OSHS2019 May 19, 2022
b1c47e2
consolidated the UI feautures and fixed bugs
OSHS2019 May 19, 2022
b944439
all types of annotation now operational
OSHS2019 May 21, 2022
2e224ab
annotation labels added, still need to add dynamically changed left c…
OSHS2019 May 25, 2022
14201ab
array representation of all saved universal annotation now partially …
OSHS2019 May 27, 2022
9044422
requested UI features now completed
OSHS2019 May 27, 2022
5ff6ec6
minor UI bug fix
OSHS2019 May 30, 2022
86be874
frontend bug fixes
OSHS2019 Jun 1, 2022
e395d6f
updated labels
OSHS2019 Jun 6, 2022
b7d561f
fine adjustment buttons implemented but buggy
OSHS2019 Jun 8, 2022
803439a
fine adjustment buttons now implemented correctly
OSHS2019 Jun 9, 2022
39d7b42
previous page change point fixed label now functional
OSHS2019 Jun 10, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,9 @@ settings.json
Dockerfile.local

edf_files/
**/.DS_Store
galaxy-app/edf/physionet/edfx/*
**/.DS_Store

# VSCode Files
.vscode/*
jsconfig.json
49 changes: 34 additions & 15 deletions client/Annotators/EDF/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,21 +47,40 @@ Template.AnnotatorEDF.onCreated(function() {
});

Template.AnnotatorEDF.onRendered(function() {
const annotatorContainer = $(this.find('.annotator-container'));
const template = this;
let config = $.extend({}, this.data.task.annotatorConfig);
config = $.extend(config, this.data.preferences.annotatorConfig);
config = $.extend(config, {
recordingName: this.data.data.path,
context: this.data,
setVisibilityStatusForInfoPanel: (isVisible) => {
setVisibilityStatusForFloatingPanel(isVisible, template, '.info-panel-container');
},
toggleInfoPanel: () => {
toggleFloatingPanel(undefined, template, '.info-panel-container');
},
});
annotatorContainer.TimeSeriesAnnotator(config);
const annotatorContainer = $(this.find(".annotator-container"));
const template = this;
//console.log("Template:", this);
let config = $.extend({}, this.data.task.annotatorConfig);
config = $.extend(config, this.data.preferences.annotatorConfig);
//console.log("here");
config = $.extend(config, {
recordingName: this.data.dataset.reduce((combined, data) => {
let dataPathSegments = data.path.split("/");
if (!combined.length)
return dataPathSegments[dataPathSegments.length - 1];
return (
combined + " + " + dataPathSegments[dataPathSegments.length - 1]
);
}, ""),
allRecordings: this.data.dataset.map((data) => {
return { _id: data._id, path: data.path, source: data.source };
}),
context: this.data,
setVisibilityStatusForInfoPanel: (isVisible) => {
setVisibilityStatusForFloatingPanel(
isVisible,
template,
".info-panel-container"
);
},
toggleInfoPanel: () => {
toggleFloatingPanel(undefined, template, ".info-panel-container");
},
});
//console.log("Template2:", this);
//console.log("dataset:", this.data.dataset);
//console.log("config", config);
annotatorContainer.TimeSeriesAnnotator(config);
});

Template.AnnotatorEDF.onDestroyed(function() {
Expand Down
160 changes: 154 additions & 6 deletions client/Annotators/EDF/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,57 @@
}

.frequency_filter_panel .select_panel {
width: 160px;
width: 110px;
}

.user_selection_panel {
float: left;
margin: 0;
}

.user_selection_panel .select_panel {
width: 210px;
}

.user_selection_panel .optgroup {
text-align: center;
font-weight: normal;
}

.annotation_type_select_panel {
float: left;
margin: 0;
}

.annotation_type_select_panel .select_panel {
width: 290px;
}

.annotation_type_select_panel .optgroup {
text-align: center;
font-weight: normal;
}

.timescale_panel {
float: left;
margin: 0;
}

.timescale_panel .select_panel {
width: 180px;
}

.timesync_panel {
float: left;
margin: 0;
}

.timesync_panel .select_panel {
width: 210px;
}

.timesync_panel button {
margin: 0 0 0 20px !important;
}

.button_container {
Expand Down Expand Up @@ -236,7 +286,7 @@
}

.highcharts-annotation.saved:hover .toolbar {
display: block;
display: inline;
}

.confidence-buttons input {
Expand Down Expand Up @@ -273,12 +323,12 @@
}

.highcharts-annotation .comment input {
height: 21px !important;
/* height: 21px !important;
width: 180px !important;
vertical-align: middle !important;
font-size: 13px !important;
vertical-align: middle !important; */
font-size: 13px !important;
background-color: #ffffff !important;
margin: 0 !important;
margin: 0 !important;
}

.annotationTime {
Expand Down Expand Up @@ -556,3 +606,101 @@
padding-left: 1.6rem;
padding-right: 1.6rem;
}
/* Popup container */
.popup {
position: relative;
display: inline-block;
cursor: pointer;
z-index: 4;
}

/* The actual popup (appears on top) */
.popup .popuptext {
visibility: hidden;
width: 450px;
background-color: #26a69a;
color: #000;
text-align: center;
border-radius: 10px;
padding: 8px 0;
position: fixed;
z-index: 1002;
bottom: 60%;
left: 20%;
margin-left: 10px;
}

/* Popup arrow */
.popup .popuptext::after {
content: "";
position: absolute;
top: 10%;
left: -100%;
margin-left: -5px;
border-width: 5px;
z-index: 1005;
border-style: solid;
border-color:#fff transparent transparent transparent;
}
.popup .popupbutton {
visibility: hidden;
}

/* Toggle this class when clicking on the popup container (hide and show the popup) */
.popup .show {
visibility: visible;
-webkit-animation: fadeIn 1s;
animation: fadeIn 1s;
z-index: 7;
}

.channel_name {
font-size: 1rem;
font-weight: thin;
color: #000000;
display: inline;
line-height: 2rem;
padding-left: 0.5rem;
padding-right: 0.5rem;
margin-left: 0.5rem;
margin-right: 0.5rem;
}

.time_sync {
font-size: 1rem;
font-weight: thin;
color: #000000;
background-color: rgba(51, 247, 60, 0.774);
display: inline;
line-height: 2rem;
padding-left: 0.5rem;
padding-right: 0.5rem;
margin-left: 0.5rem;
margin-right: 0.5rem;
}


.amplitude_adjustment_container{
float: left;
margin-left: 1rem;
}

.amplitude_adjustment_panel{
float: right;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}

.amplitude_adjustment_button{
float: right;
margin-left: 0.2rem;
margin-right: 0.2rem;
}






Loading