Skip to content
Snippets Groups Projects
Select Git revision
  • edd3fca9cf6dcd0058fdca5cb6f25dbb4327e497
  • master default protected
  • dev_2022
  • patch-1
  • develop
  • 50-use-ubuntus-libhidapi
  • issue-highLevelDispatch
  • issue-highLevelDesign
  • issue-motorStartBug
  • issue-commandLayerDesign
  • v1.0
  • v0.4-rc.13
  • v0.4-rc.12
  • v0.4-rc.11
  • v0.4-rc.10
  • v0.4-rc.9
  • v0.3-rc.8
  • v0.3-rc.7
  • v0.3-rc.6
  • v0.3-rc.5
  • v0.3-rc.4
  • v0.3-rc.3
  • v0.3-rc.2
  • v0.3-rc.1
  • v0.3-rc
  • v0.2
  • v0.1.1
  • v0.1
28 results

UIWriteSubCodes.m

Blame
    • Tim Stadtmann's avatar
      b8547226
      Change mode of enumerations · b8547226
      Tim Stadtmann authored
      The python-doc-preprocess script will change the mode of the enum-files each time
      they are processed. In order to avoid a stuffed list of changed files in git,
      the file mode is now permanently changed.
      b8547226
      History
      Change mode of enumerations
      Tim Stadtmann authored
      The python-doc-preprocess script will change the mode of the enum-files each time
      they are processed. In order to avoid a stuffed list of changed files in git,
      the file mode is now permanently changed.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    example.m 3.40 KiB
    %% Example Script
    % This Script is meant to demonstrate the capabilities of the PlotID tool.
    
    %% Clear Environment
    clear; clc; close all;
    
    try
        delete testdata2.h5;
    end
    
    %% Set ProjectID
    % ProjectID can also be set in the config file 
    
    % Leave empty for using the ID from the config file
    ProjectID = 'Example';
    
    %% Data
    % only necessary for this example
    
    % 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 for the .h5 file
    x1 = linspace(0,2*pi); y1 = sin(x1)+2;
    
    % define filepath & 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.
    % example_fcn is a dummy function to show the functionality
    a = 1; 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 it 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 of the script, the location of the
    % data and the figure and can take several options (see readme). 
    
    % filename of the m.script, extension must be added!
    scriptPath = [mfilename('fullpath'),'.m']; 
    
    % file names of the datasets
    
    %(defined above:) dataset1 = 'test_data.mat'; dataset2 = 'testdata2.h5'
    locations =  {dataset1,dataset2} ; % don't forget the extension
    
    %locations =  {'test_data.mat', 'falsch'};
    %call publishing
    PlotID.Publish(locations,scriptPath, fig(1), 'Location', 'local' ,'Method','individual')
    
    %% Example 2: multiple plots plot, all based on dataset2 (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
    script = [mfilename('fullpath'),'.m']; % filename of the m.script
    % file names of the datasets
    rdata =  dataset2 ; % don't forget the extension
    
    % publsihing via a for-loop
    for i=1: numel(fig)
        PlotID.Publish(rdata, script, fig(i), 'Location', 'local',...
            'Method','individual');
    end
    
    %% Second Plot with identical data to test centralized method
    % A central data folder is used for saving the research data files, the
    % subfolders contain linked hdf5-files (if hdf5 is used). This is
    % recommended, if many plots are made from the same data set.  Attention,
    % the linked HDF5 will not work when a subfolder was moved or the data
    % folder was deleted
    
    fig2 =figure;
    plot(x,y,'-k');
    hold on
    plot(x1,y1,'-r');
    
    [fig2, ID] = PlotID.TagPlot(fig2,'ProjectID', ProjectID);
    
    PlotID.Publish(locations,scriptPath, fig2, 'Location', 'local','Method','centralized')