Ignore:
Timestamp:
2022-11-30T17:19:14+13:00 (17 months ago)
Author:
davidb
Message:

AV values now returned for each recommendation as data attributes; function added on calculate min-max range of AV vals

File:
1 edited

Legend:

Unmodified
Added
Removed
  • gs3-installations/mars/trunk/sites/mars/collect/amc-essentia/js/av_document.js

    r36960 r36963  
    8888
    8989    return submitAVRecommendation(form, arousal_val,valence_val, current_time);
     90}
     91
     92function AVPlotRecommendations()
     93{
     94    var $av_recommendations = $('.AVRecommendation');
     95
     96    var min_arousal_val = +1.0;
     97    var max_arousal_val = -1.0;
     98
     99    var min_valence_val = +1.0;
     100    var max_valence_val = -1.0;
     101
     102    $av_recommendations.each(function(index_unused) {
     103    var arousal_val = $(this).data("arousalval");
     104    var valence_val = $(this).data("valenceval");
     105
     106    if (arousal_val < min_arousal_val) {
     107        min_arousal_val = arousal_val;
     108    }
     109    if (arousal_val > max_arousal_val) {
     110        max_arousal_val = arousal_val;
     111    }
     112
     113   
     114    if (valence_val < min_valence_val) {
     115        min_valence_val = valence_val;
     116    }
     117    if (valence_val > max_valence_val) {
     118        max_valence_val = valence_val;
     119    }
     120
     121    });
     122
     123    console.log(`AVRecommendations Arousal limits: ${min_arousal_val} <-> ${max_arousal_val}`);
     124    console.log(`AVRecommendations Valence limits: ${min_valence_val} <-> ${max_valence_val}`);
     125   
    90126}
    91127
     
    135171        $('#av-chart-div').show();
    136172
     173        AVPlotRecommendations();
     174       
    137175        if (current_time) {
    138176        const updated_url = new URL(window.location);
     
    249287var av_chart_orig_y_dim = 825;
    250288
    251 var av_chart_disp_x_dim = 250;
     289var av_chart_disp_x_dim = 300; // ****
    252290var av_chart_disp_x_mid = av_chart_disp_x_dim/2.0;
    253291
    254292var av_chart_scale = av_chart_orig_x_dim / av_chart_disp_x_dim;
     293
     294function display_to_av_coord(disp_x,disp_y)
     295{
     296    var scaled_disp_x = disp_x * av_chart_scale;
     297    var scaled_disp_y = disp_y * av_chart_scale;
     298
     299    var orig_av_x = scaled_disp_x - av_chart_orig_x_org;
     300    var orig_av_y = -1 * (scaled_disp_y - av_chart_orig_y_org); // flip y axis
     301
     302    var av_x = orig_av_x / av_chart_orig_r;
     303    var av_y = orig_av_y / av_chart_orig_r;
     304   
     305    var capped_av_x = Math.max(Math.min(av_x,1.0),-1.0);
     306    var capped_av_y = Math.max(Math.min(av_y,1.0),-1.0);
     307
     308    return { "x": capped_av_x, "y": capped_av_y };
     309}
    255310
    256311function av_chart_click(elem,e)
     
    264319    var disp_y = e.pageY - elem_y_org;
    265320
     321    /*
    266322    var scaled_disp_x = disp_x * av_chart_scale;
    267323    var scaled_disp_y = disp_y * av_chart_scale;
     
    275331    var capped_av_x = Math.max(Math.min(av_x,1.0),-1.0);
    276332    var capped_av_y = Math.max(Math.min(av_y,1.0),-1.0);
    277    
    278 
     333    */ 
     334
     335    av_coord = display_to_av_coord(disp_x,disp_y);
     336    var capped_av_x = av_coord.x;
     337    var capped_av_y = av_coord.y;
     338   
    279339    console.log(`av x,y: (${capped_av_x},${capped_av_y})`);
    280340
Note: See TracChangeset for help on using the changeset viewer.