diff --git a/.gitignore b/.gitignore index d8d4011..31e0072 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ .#softROC.m softROC_settings.plist + +softROC_settings.plist diff --git a/README.md b/README.md index 697578c..ddac7fc 100644 --- a/README.md +++ b/README.md @@ -9,4 +9,5 @@ Released under the Creative Commons License 3.0 Attribution (CC BY 3.0) http://creativecommons.org/licenses/by/3.0/ Attribution text: -softROC program initially written by Hyatt Moore, IV \ No newline at end of file + +Moore IV, Hyatt E., Olivier Andlauer, Noah Simon, and Emmanuel Mignot. "Exploring medical diagnostic performance using interactive, multi-parameter sourced receiver operating characteristic scatter plots." Computers in biology and medicine 47 (2014): 120-129. diff --git a/sample_data.xls b/sample_data.xls index b090f61..21c0c2a 100755 Binary files a/sample_data.xls and b/sample_data.xls differ diff --git a/softROC.m b/softROC.m index 7669782..b76408b 100644 --- a/softROC.m +++ b/softROC.m @@ -241,8 +241,34 @@ function push_select_file_Callback(hObject, eventdata, handles) try [number,txt,raw]=xlsread(full_filename,1,'','basic'); + + settings = handles.user.settings; + + + %exclude bad rows on launch? + if(settings.exclude_number_data) + numRows = size(raw,1)-1; + numCols = size(raw,2); + bad_rows = false(numRows,1); + for k=1:numCols + data = raw(2:end,k); + if(iscellstr(data)) + + else + bad_rows = bad_rows | feval(settings.binop_number,cell2mat(data),settings.exclude_number_value); + end + + end + + bad_rows = [false;bad_rows]; + raw(bad_rows,:) = []; + end + handles.user.filename = filename; + + + numCols = size(raw,2); unique_ind = false(1,numCols); unique_vals = cell(1,numCols); @@ -314,8 +340,13 @@ function push_select_file_Callback(hObject, eventdata, handles) catch ME disp(ME.message); - disp('There was an error loading the file. Verify its integrity and Excel format.'); - disp('If error invovles ''biffparse'' try saving the XLS file using Microsoft Excel 95 format.'); + if(isempty(handles.controls.indices)) + disp('There was an error loading the file. At least one column must contain two, and only two unique indices to represent the gold standard evaluation'); + else + disp('There was an error loading the file. Verify its integrity and Excel format.'); + disp('If error invovles ''biffparse'' try saving the XLS file using Microsoft Excel 95 format.'); + + end set(handles.text_filename,'string','The file could not be loaded - please verify its format','enable','inactive'); end diff --git a/softROC_file_log.txt b/softROC_file_log.txt index 0b91a03..af63746 100644 --- a/softROC_file_log.txt +++ b/softROC_file_log.txt @@ -8,3 +8,11 @@ Gold Standard = Dx Positivity Value = 1.00 HCRT_5_6_-_6_8 >= [1.00 : 100.00] AND HCRT_8_7_-_9_9 >= [1.00 : 100.00] + +18-Feb-2014 11:53:09 /Users/hyatt4/Google Drive/work/softROC requests/result - alberto.txt + Gold Standard = IsIt0 Positivity Value = 1.00 + Prediction < [0.00 : 20000.00] + +18-Feb-2014 12:07:58 /Users/hyatt4/Google Drive/work/softROC requests/result - alberto_strong vs weak or not.txt + Gold Standard = IsIt2 Positivity Value = 1.00 + Prediction < [0.00 : 20000.00]