Commit 3c05e51c authored by Jan-Gerrit Richter's avatar Jan-Gerrit Richter

Merge branch 'master' into itaMotorControl

parents de1f6a92 5564e643
......@@ -14,7 +14,6 @@ Thumbs.db
*.csv
*.h5
*.ita
*.fig
*.png
*.jpeg
*.sofa
......
[submodule "internal"]
path = internal
url = https://git.rwth-aachen.de/ita/toolbox-intern.git
branch = master
#### Contributing to the ITA-Toolbox
You can contribute to the ITA-Toolbox in many ways:
* reporting bugs,
* fixing bugs,
* writing documentation,
* implementing new features,
* improving existing features.
## Reporting Bugs
* Please make sure that the [software requirements](https://git.rwth-aachen.de/ita/toolbox/blob/master/Getting_Started.txt) for using the ITA-Toolbox are fulfilled.
* You can report bugs using the [issue tracker on the projects GitLab page](https://git.rwth-aachen.de/ita/toolbox/issues) or by sending an E-Mail to the [developer mailing list](mailto:toolbox-dev@akustik.rwth-aachen.de). Make sure that your bug report is structured and includes all necessary detail for us to fix it. For guidelines on how to write a bug report take a look at [Good Bug Reports](http://martiancraft.com/blog/2014/07/good-bug-reports/). In short:
* Mention your MATLAB version, the operating system and its version.
* Choose a matching title that is descriptive for your bug.
* Give a SHORT MATLAB code snippet or figure that shows the issue.
* Give a detailed description of the problem at hand.
## Submitting Bugfixes and Features
For style guidelines and best practices in writing code for the ITA-Toolbox please take a look at the corresponding [Wiki section](https://git.rwth-aachen.de/ita/toolbox/wikis/home).
You can contribute bugfixes and features by submitting [merge requests](https://git.rwth-aachen.de/ita/toolbox/merge_requests) to the repository.
Make sure that you follow the following guidelines:
* It is highly recommended that you generate a new branch when working on a bugfix or a new feature.
* Work on your fix/feature inside your new branch.
* Create representative tests for your code if you create a new feature.
* Once finished file the merge request. Your merge request will now be reviewed and discussed.
* After all discussions are resolved and your request gets approved your code will be merged into the master branch.
***************************************************************************************
****** Welcome to ITA-Toolbox for MATLAB ******************
***************************************************************************************
************************************************************************
******* ITA-Toolbox for MATLAB *********
************************************************************************
Please be aware of the license agreement supplied with this Toolbox (license.txt)
Please report serious bugs to toolbox-dev@akustik.rwth-aachen.de
Please be aware that by using this toolbox you accept the license
agreement supplied in the 'license.txt' file.
Please report bugs to toolbox-dev@akustik.rwth-aachen.de
***************************************************************************************
************************************************************************
** INSTALL **
***************************************************************************************
************************************************************************
In the following, MATLAB commands (to be entered in the 'command window'
will be denoted in <>. The actual command has to be entered without <>.
1) Open MATLAB R2010a or higher, with Signal Processing Toolbox
2) Navigate to this ITA-Toolbox folder, where this README.txt lies in.
3) Type <ita_toolbox_setup> in your MATLAB console
4) Follow the instructions and have a look at the GUI and Getting Started Tutorial Script supplied
Before you start make sure you unpacked the toolbox from the .zip file.
***************************************************************************************
1) Open MATLAB R2014b or higher
2) Check for Signal Processing and Curve Fitting Toolboxes are installed
(<ver>)
3) Open the ITA-Toolbox root folder (containing the current file).
4) Execute <ita_toolbox_setup>
5) Follow the instructions.
6) For an overview of available tutorials and demos:
<ita_tutorialOverview> and <ita_demoOverview>
7) To generate the documentation execute the function
<ita_generate_documentation> followed by <doc> to open it.
It might be necessary to restart MATLAB for the ITA-Toolbox
documentation to appear in the MATLAB help browser.
************************************************************************
** UNINSTALL **
***************************************************************************************
************************************************************************
To uninstall ITA-Toolbox for MATLAB:
1) type <ita_delete_toolboxpaths>
OR
simply type <pathtool> in your MATLAB console and delete all path entries for ITA-Toolbox and save path list.
1) <ita_toolbox_uninstall>
2) Close MATLAB.
3) Delete your ITA-Toolbox folder
***************************************************************************************
************************************************************************
** Have fun! **
***************************************************************************************
************************************************************************
Your ITA-Toolbox Developer Team
Aachen, Germany, February 2013
\ No newline at end of file
# ITA-Toolbox
Welcome to the ITA-Toolbox
Welcome to the ITA-Toolbox, an open source MATLAB toolbox for acoustics developed by the [Institute of Technical Acoustics](http://www.akustik.rwth-aachen.de/) of the [RWTH Aachen University](http://www.rwth-aachen.de/).
* Open source project developed by the [Institute of Technical Acoustics](http://www.akustik.rwth-aachen.de/), [RWTH Aachen University](http://www.rwth-aachen.de/).
* Full-fledged Toolbox, well-integrated in the MATLAB environment.
* Including demo files, documentation and tutorials to get started quickly.
* Deals with playable audio files or simulation data (including physical unit calculation and spatial information).
* A graphical user interface and various plot routines for the graphical output of all kind of relevant acoustic data.
* Object-oriented programming concepts for using of well-known MATLAB commands and operators to audio data.
* Makes it easy to do basic signal analysis and processing, record and playback audio files and much more...
[Project Website](http://www.ita-toolbox.org)
You can find the first instructions how to deal with the ITA-Toolbox in the [Getting Started](ITA_Toolbox_Getting_Started.pdf) file.
[Wiki](https://git.rwth-aachen.de/ita/toolbox/wikis/home)
[Setup Instructions](Getting_Started.txt)
\ No newline at end of file
......@@ -295,7 +295,7 @@ classdef itaHRTF < itaAudio
pairs = zeros(coord.nPoints/2,2);
if coord.nPoints>10000 % takes a while
ita_verbose_info([num2str(coord.nPoints) ' Points has to be sorted ...please wait...'], 0);
ita_verbose_info([num2str(coord.nPoints) ' Points have to be sorted ...please wait...'], 0);
end
......@@ -760,14 +760,18 @@ classdef itaHRTF < itaAudio
end
function surf(varargin)
sArgs = struct('pos1_data','itaHRTF', 'earSide', 'L', 'freq' , 5000,'type','directivity');
sArgs = struct('pos1_data','itaHRTF', 'earSide', 'L', 'freq' , 5000,'type','directivity','log',1);
[this,sArgs] = ita_parse_arguments(sArgs,varargin);
idxF = this.freq2index(sArgs.freq);
position = get(0,'ScreenSize');
figure('Position',[10 50 position(3:4)*0.85]);
freqData_dB = this.getEar(sArgs.earSide).freqData_dB;
if sArgs.log
freqData_dB = this.getEar(sArgs.earSide).freqData_dB;
else
freqData_dB = this.getEar(sArgs.earSide).freqData;
end
switch sArgs.type
case 'directivity'
surf(this.dirCoord,freqData_dB(idxF,:));
......
......@@ -41,7 +41,7 @@ HRTF_find.play_gui(pinkNoise);
%% Binaural parameters
ITD = slicePhi.ITD; % different methods are available: see method in itaHRTF
ILD = slicePhi.ILD;
%ILD = slicePhi.ILD;
%% Modifications
% calculate DTF
......@@ -65,8 +65,12 @@ HRTF_interp = HRTF_sphere.interp(coordI);
nameDaff_file = 'HRTF_sphere.daff';
HRTF_sphere.writeDAFFFile(nameDaff_file);
HRTF_daff = itaHRTF('daff',nameDaff_file);
%HRTF_daff = itaHRTF('daff',nameDaff_file);
nameDaff_file2 = 'C:\Users\bomhardt\Documents\ITA-Toolbox\applications\TODOunfinished\test_marcia\DATA\HRTF_ITAKopf_Nov2013_MartinPollow\ITA-Kunstkopf_HRIR_Mess01_D180_1x1_256.daff';
HRTF_daff2 = itaHRTF('daff',nameDaff_file2);
HRTF_daff2.plot_freqSlice
\ No newline at end of file
nameDaff_file2 = 'yourHRTF.daff';
if ~strcmp(nameDaff_file2,'yourHRTF.daff')
HRTF_daff2 = itaHRTF('daff',nameDaff_file2);
HRTF_daff2.plot_freqSlice
else
ita_disp('use an existing daff-file')
end
\ No newline at end of file
Contact: mpo@akustik.rwth-aachen.de
Description: experimental classes for bulky audio data
Dependencies: no dependencies
\ No newline at end of file
Contact: pdi@akustik.rwth-aachen.de
Description: generates documentatation: ita_generate_documentation
Dependencies: no dependencies
\ No newline at end of file
......@@ -29,8 +29,19 @@ ita_generate_helpOverview(sArgs.rootpath);
cd(sArgs.rootpath)
%% Get folders for m2html
ignoreList = {'.svn','.git','private','tmp','prop-base','props','text-base','template','doc','GuiCallbacks'};
pathStr = genpath(sArgs.rootpath); %generates folderlist with ';' to seperate folders
ignoreList = {'.svn', ...
'.git', ...
'private', ...
'tmp', ...
'prop-base', ...
'props', ...
'text-base', ...
'template', ...
'doc', ...
'GuiCallbacks', ...
'external_packages', ...
'ExternalPackages'};
pathStr = genpath(sArgs.rootpath);
prefixToolbox = fliplr(strtok(fliplr(sArgs.rootpath),filesep)); %get Toolbox folder name
outpathStr = [];
......@@ -47,7 +58,7 @@ for idx=1:(length(tokenIdx)-1)
if ~isIgnore %add string token
outpathStr = [outpathStr,pathsep,tokenCell{idx}]; %#ok<*AGROW>
idxITA = strfind(tokenCell{idx},prefixToolbox); %pdi
outpathList = [outpathList; {tokenCell{idx}(idxITA:end)}]; %throw away 'C:\...' until ITA-TB path
outpathList = [outpathList; {tokenCell{idx}(idxITA:end)}]; % make path relative
end
end
......
......@@ -172,6 +172,9 @@ ita_writeHTML(fullfile(htmlFolder, 'application_demos.html'),app_demoHTML);
% copy the info xml file as required since MATLAB R2014b
copyfile(fullfile(templateFolder,'template_info.xml'), fullfile(htmlFolder, 'info.xml'));
% copy the icons
copyfile(fullfile(templateFolder,'images'), fullfile(htmlFolder, 'images'));
%% generate Class/App Documentation in Help Browser
% - Tumbrgel 05/2012
%
......@@ -270,57 +273,6 @@ classesHTML=[classesHTML, '<br>', sprintf('\n'), classesHTML_end];
%write edited file
ita_writeHTML(fullfile(htmlFolder, 'classes.html'), classesHTML);
% -> edit apps.html
[appsHTML_begin, appsHTML_end] = ita_openHTML(fullfile(templateFolder, 'template_apps.html'));
appsHTML= appsHTML_begin;
%%%%%%%%%%%%%%%%%%%
appfolder = rdir([folder filesep '**' filesep 'ita_apps.m']);
if isempty(appfolder)
appsHTML = [appsHTML 'sorry you do not have any application installed. Could not find "ita_apps.m"<br>' appsHTML_end];
else
appfolder = appfolder(1).name;
temp = strfind(appfolder, filesep);
appfolder = appfolder(1:temp(end)-1);
applist = rdir([appfolder filesep '**' filesep 'AppDescription.txt']);
appsHTML = [appsHTML '<table border="2">' sprintf('\n')];
for idx = 1:numel(applist)
appDescriptionPath = applist(idx).name;
nameidx = strfind(appDescriptionPath,filesep);
appDocumentationFile = [appDescriptionPath(1:nameidx(end-2)),...
'HTML',...
filesep,...
'doc',...
filesep,...
appDescriptionPath(nameidx(end-3)+1:nameidx(end)),...
'index.html'];
appname = appDescriptionPath(nameidx(end-1)+1:nameidx(end)-1);
appDescriptionPath = strrep(appDescriptionPath, filesep, '/'); %convert ..\.. to ../.. for html
data_ID = fopen(appDescriptionPath,'r'); %r read only
data = fread(data_ID, 'uint8=>char');
fclose(data_ID);
data = data(:)'; %get AppDescription.txt as string
desPoint = strfind(data,'Description:');
data = data(desPoint+12:end);
desPoint = strfind(data,sprintf('\n'));
data = data(1:desPoint);
% old: show complete AppDescription.txt....
%'<td><object data="file:///', appDescriptionPath, '" type="text/plain" width="350" height="90">', sprintf('\n'),...
%'Ihr Browser kann das Objekt leider nicht anzeigen!</object></td>',sprintf('\n'),..
appsHTML = [appsHTML,...
'<tr height="30">', sprintf('\n'),...
'<td width="100"><a href="file:///', appDocumentationFile,'">', appname, '</a></td>', sprintf('\n'),...
'<td>', data, sprintf('\n'),...
'</td>',sprintf('\n'),...
'</tr>', sprintf('\n')]; %#ok<AGROW>
end
appsHTML = [appsHTML '</table>' appsHTML_end];
end
%write edited file
ita_writeHTML(fullfile(htmlFolder, 'apps.html'), appsHTML);
%% Generate Kernel Documentation
[kernelHTML_begin, kernelHTML_end] = ita_openHTML(fullfile(templateFolder, 'template_kernel.html'));
......
......@@ -36,7 +36,7 @@
</tr>
<tr>
<td height="83" valign="top" bgcolor="#FFFFFF">
<img src="../pics/ita_toolbox_logo_wbg.jpg" width="400" align="top">
<img src="../pics/ita_toolbox_logo_wbg.png" width="400" align="top">
</td>
</tr>
<tr>
......@@ -72,4 +72,4 @@ This might take a few minutes.
<!--/Content-->
<!-- Last updated: 02.05.2012 Jonas Tumbrgel-->
</body>
</html>
\ No newline at end of file
</html>
......@@ -36,7 +36,7 @@
</tr>
<tr>
<td height="83" valign="top" bgcolor="#FFFFFF">
<img src="../pics/ita_toolbox_logo_wbg.jpg" width="400" align="top">
<img src="../pics/ita_toolbox_logo_wbg.png" width="400" align="top">
</td>
</tr>
<tr>
......@@ -64,4 +64,4 @@ We recommand you to make use of the "doc 'function' " and "help 'function' " com
</td></tr></table> <!-- close "border (see above-->
<!-- Last updated: 18.05.2012 Jonas Tumbrgel-->
</html>
\ No newline at end of file
</html>
......
......@@ -36,7 +36,7 @@
</tr>
<tr>
<td height="83" valign="top" bgcolor="#FFFFFF">
<img src="../pics/ita_toolbox_logo_wbg.jpg" width="400" align="top">
<img src="../pics/ita_toolbox_logo_wbg.png" width="400" align="top">
</td>
</tr>
<tr>
......@@ -66,4 +66,4 @@ We recommand you to make use of the "doc 'function' " and "help 'function' " com
</td></tr></table> <!-- close "border (see above-->
<!-- Last updated: 02.05.2012 Jonas Tumbrägel-->
</html>
\ No newline at end of file
</html>
......@@ -4,20 +4,10 @@
<toc version="1.0">
<tocitem target="index.html">RWTH Aachen - ITA-Toolbox
<tocitem target="index_getstarted.html" image="HelpIcon.GETTING_STARTED">Getting Started
<tocitem target="gettingstarted/introduction.html">Introduction
<tocitem target="gettingstarted/prodOverview.html">Product Overview</tocitem>
<tocitem target="gettingstarted/sysSetup.html">Setup
<tocitem target="gettingstarted/hardware.html">Required Hardware</tocitem>