Skip to content
Snippets Groups Projects
Select Git revision
  • 53c0ccb1028eba7ca64fde66c02fc833ab9954ea
  • master default protected
  • gitkeep
  • dev protected
  • Issue/2309-docs
  • Issue/2373-fixPagination
  • Heinrichs-master-patch-93799
  • devops-aczepiel
  • Hotfix/2097-fixTimeFormat
  • Hotfix/2087-efNet6
  • Issue/1910-MigrationtoNET6.0
  • Issue/1964-tokenExpiryUIv2
  • Sprint/2022-01
  • Sprint/2021-11
  • Sprint/2021-08
  • Hotfix/1262-fixStatuscode
  • Sprint/2021-05
  • Product/1100-fdsS3
  • Topic/1292-FdsS3
  • Product/1188-LoggingExtended
  • Topic/1221-LogginExtendedNew
  • v2.2.3
  • v2.2.2
  • v2.2.1
  • v2.2.0
  • v2.1.3
  • v2.1.2
  • v2.1.1
  • v2.1.0
  • v2.0.2
  • v2.0.1
  • v2.0.0
  • v1.12.0
  • v1.11.0
  • v1.10.0
  • v1.9.1
  • v1.9.0
  • v1.8.0
  • v1.7.3
  • v1.7.2
  • v1.7.1
41 results

ApplicationInformation.cs

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    example.m 3.09 KiB
    %% Example Script
    % This Script is meant to demonstrate the capabilities of the PlotID tool.
    
    %% Clear Environment
    clear; clc; close all;
    addpath('CI_files'); % Test scripts
    
    try
        delete testdata2.h5;
    end
    
    
    %% Set ProjectID
    % ProjectID can also be set in the config file 
    
    % TODO:  decide how projectID and optionally ORCID will be implemented
    % ORCID placed on startup (alternative?) - projectID as persistent
    % otherwise dialogue?
    
    % Leave empty for using the ID from the config file
    ProjectID = '';
    
    
    %% Data
    % Creating Random Data to use as data-file
    
    x = linspace(0,7);
    y = rand(1,100)+2;
    dataset1 = 'test_data.mat';
    % Use absolute paths for good practise
    dataset1 = fullfile(pwd,dataset1);
    save(dataset1,'x','y');
    
    
    % some data as .h5
    x1 = linspace(0,2*pi);
    y1 = sin(x1)+2;
    
    % define file path & name
    dataset2 = 'testdata2.h5';
    dataset2 = fullfile(pwd,dataset2);
    fpath = dataset2;
    
    % create hdf5 file and dataset > write data to hdf5 file / dataset
    h5create(fpath, "/x1", size(x1), "Datatype", class(x1))
    h5create(fpath, "/y1", size(y1), "Datatype", class(y1))
    h5write(fpath, "/x1", x1)
    h5write(fpath, "/y1", y1)
    
    %% function calls
    % Place for post-processing of the data, or additional related code.
    a = 1;
    % example_fcn is a dummy function to show the functionality
    a = example_fcn(a); 
    %p = betacdf(0.5,1,1); % to test Toolboxes
    
    %% Plotting
    % This is still part of a normal script to produce plots.
    % Make sure to save each figure in a variable to pass to PlotID-functions.
    fig(1) = figure;
    plot(x,y,'-k');
    box off; hold on;
    plot(x1,y1,'-r');
    set(gca, 'TickDir', 'out', 'YLim', [0,4]);
    
    %% Example 1: single plot based on two data-sets
    
    %% Tag the plot
    % PlotID Implementation starts here.
    % TagPlot adds a visible ID to the figure(s) and to the figures property
    % 'Tag'
    [fig, ID] = PlotID.TagPlot(fig, 'ProjectID', ProjectID);
    
    %% Publishing
    % Second part of plotID 
    % The functions needs the file location, the location of the data and the
    % figure and can take several options.
    % TODO add explanations for Options
    
    path.script = mfilename('fullpath'); % filename of the m.script
    % file names of the datasets
    path.rdata =  {dataset1,dataset2} ; % don't forget the extension
    
    PlotID.Publish(path, ID, fig(1), 'Location', 'local' ,'Method','centralized')
    
    %% Example 2: multiple plots plot, all based on data-set2 (hdf5)
    % for individual data-sets, use an appropriate array
    
    fig(2) = figure;
    plot(x,y,'-b');
    box off; hold on;
    plot(x1,y1,'--k');
    set(gca, 'TickDir', 'out', 'YLim', [0,4]);
    
    % tag both plots 
    [fig, IDs] = PlotID.TagPlot(fig,'ProjectID', ProjectID);
    
    % data locations
    path.script = mfilename('fullpath'); % filename of the m.script
    % file names of the datasets
    path.rdata =  {dataset2} ; % don't forget the extension
    
    % publsihing via for-loop
    for i=1: numel(fig)
        PlotID.Publish(path, IDs{i}, fig(i), 'Location', 'local','Method','centralized');
    end
    
    %% Second Plot with identical data to test centralized method
    % ToDO Add better description
    
    fig2 =figure;
    plot(x,y,'-k');
    hold on
    plot(x1,y1,'-r');
    
    [fig2, ID] = PlotID.TagPlot(fig2,'ProjectID', ProjectID);
    
    PlotID.Publish(path, ID, fig2, 'Location', 'local','Method','centralized')