This toolbox contains a standard set of MATLAB functions for analyzing and displaying climate data. The functions are computationally efficient, easy to use, and come with many tutorials that describe not only how to use CDT functions, but also offer guidance on how to interpret the results in the context of Earth science processes.CDT logo illustration by Adam S. Nelsen (http://www.adamnelsen.com)

EEGLAB is an open-source signal processing environment for electrophysiological signals running on Matlab and developed at the SCCN/UCSD. Download from the project website rather than GitHub to make sure all dependencies are correctly installed.

# PIVlab - particle image velocimetry (PIV) tool with GUI*PIVlab is a graphical user interface (GUI) based particle image velocimetry (PIV) software. It can be used to control OPTOLUTION's lasers, cameras and synchronizers, and of course it calculates the velocity distribution within imported (or captured) particle image pairs. It can also be used to derive, display and export multiple parameters of the flow pattern. The simple, GUI makes PIV data acquisition and data post-processing fast and efficient.*Listen to a podcast about PIVlab, its development and ideas for the future: [Inspiring Computing - PIVlab Unveiled: A Deep Dive into Particle Image Velocimetry with MATLAB](https://www.buzzsprout.com/2107763/15106425)![PIVlab_screenshot](https://github.com/Shrediquette/PIVlab/blob/main/images/PIVlab_screenshot.jpg)** ****PIVlab comes with it's own unique hardware: Pulsed lasers, LEDs, synchronizers and cameras are available here: [Optolution.com](https://www.optolution.com/en/products/particle-image-velocimetry-piv/)**** **Video tutorial 1/3: Quickstart guidehttps://youtube.com/watch?v=g2hcTRAzBvYVideo tutorial 2/3: Pre-processing, analysis and data validationhttps://youtube.com/watch?v=15RTs_USHFkVideo tutorial 3/3: Data exploration and data exporthttps://youtube.com/watch?v=47NCB_RFiE8PIVlab controlling cameras, lasers, etc.https://youtu.be/8B5M31NWlJc**Installation:** https://github.com/Shrediquette/PIVlab/wiki#installation-instructions**Please ask your questions in the PIVlab forum:** http://pivlab.blogspot.de/p/forum.html**Software documentation is available in the wiki:** https://github.com/Shrediquette/PIVlab/wiki** ****Code contributors:*** Main: William Thielicke (http://william.thielicke.org)* Name spaces / packages: Mikhil from MATHWORKS (https://github.com/Mikhil11)* Vectorization in piv_fftmulti: Sergey Filatov (http://www.issp.ac.ru/lqc/people.html)* GUI parallelization: Chun-Sheng Wang, ParaPIV (https://de.mathworks.com/matlabcentral/fileexchange/63358-parapiv)* Command line parallelization: Quynh M. Nguyen (https://github.com/quynhneo)* Speed, memory and general optimizations: Maarten (https://github.com/mkbosmans) via VORtech.nl via MathWorks** **We would like to acknowledge Uri Shavit, Roi Gurka & Alex Liberzon for sharing their code for 3-point Gaussian sub-pixel estimation. Thanks to Nima Bigdely Shamlo for allowing me to include the LIC function. Thanks to Raffel et al. for writing the book "Particle Image Velocimetry, A Practical Guide", which was a very good help. Thanks to the [thousands of publications that use PIVlab for research](https://scholar.google.de/scholar?cites=819244312015141543)!Visit Matlabs File exchange site for PIVlab: [![View PIVlab - particle image velocimetry (PIV) tool on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://de.mathworks.com/matlabcentral/fileexchange/27659-pivlab-particle-image-velocimetry-piv-tool)PIVlab [can be run online using MATLAB online](https://youtu.be/EQHfAmRxXw4?si=X77HabqAIbuHRIGT). MATLAB online is free (after registration) with a limited usage time per user (20 hrs/month):[![Open in MATLAB Online](https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg)](https://matlab.mathworks.com/open/github/v1?repo=Shrediquette/PIVlab&file=PIVlab_GUI.m)

O GAMMA-GUI é uma interface gráfica amigável e intuitiva, desenvolvida na plataforma Matlab®, que não requer conhecimentos de programação. Ele facilita a aplicação de métodos de análise multivariada, uma área também conhecida como quimiometria, dedicada à análise de dados de origem química. O GAMMA-GUI é projetado tanto para usuários experientes quanto para aqueles que estão iniciantes e não familiarizados com linguagens de programação, proporcionando uma experiência simplificada e acessível na utilização de diversos recursos quimiométricos.Esse pacote é livremente distribuído, os autores não se responsabilizam pelos resultados obtidos através da livre utilização dessas rotinas, sua comercialização e modificação não está autorizada.GAMMA-GUI is a user-friendly and intuitive graphical interface developed on the Matlab® platform, which does not require programming knowledge. It facilitates the application of multivariate analysis methods, an area also known as chemometrics, dedicated to analyzing data of chemical origin. GAMMA-GUI is designed for experienced users and beginners unfamiliar with programming languages, providing a simplified and accessible experience in utilizing various chemometric tools.This package is freely distributed, and the authors are not responsible for the results obtained through the unrestricted use of these routines. Its commercialization and modification are not authorized.

The codes present a simulation of the multirotor drones considering the ground effect to obtain soft-landing. The codes are related to the article: S. R. Nekoo, J. A. Acosta, G. Heredia and A. Ollero, "Soft-Landing of Multi-Rotor Drones using a Robust Nonlinear Control and Wind Modeling," 2021 International Conference on Unmanned Aircraft Systems (ICUAS), Athens, Greece, June, 2021, pp. 1070-1079. So, by reading the article you may follow the code easily and use that.

MESH2D is a MATLAB-based Delaunay mesh-generator for two-dimensional geometries. It is designed to generate high-quality constrained Delaunay triangulations for general polygonal regions in the plane. MESH2D provides simple and yet effective implementations of "Delaunay-refinement" and "Frontal-Delaunay" triangulation techniques, in additional to "hill-climbing" type mesh-optimisation. Support for user-defined "mesh-spacing" functions and "multi-part" geometry definitions are provided, allowing varying levels of mesh-resolution to be specified within complex domains. Algorithms implemented in MESH2D are "provably-good" - ensuring convergence, geometrical and topological correctness, and providing guarantees on algorithm termination and worst-case element quality bounds. MESH2D typically generates very high-quality output, appropriate for a variety of finite-volume/element type applications.See TRIDEMO to get started with a set of example problems:tridemo(0); % a very simple example to get everything started.tridemo(1); % investigate the impact of the "radius-edge" threshold.tridemo(2); % Frontal-Delaunay vs. Delaunay-refinement algorithms.tridemo(3); % explore impact of user-defined mesh-size constraints.tridemo(4); % explore impact of "hill-climbing" mesh optimisations.tridemo(5); % assemble triangulations for "multi-part" geometries.tridemo(6); % assemble triangulations with "internal" constraints.tridemo(7); % investigate the use of "quadtree"-type refinement.tridemo(8); % explore use of custom, user-defined mesh-size functions.tridemo(9); % larger-scale problem, mesh refinement + optimisation. tridemo(10); % medium-scale problem, mesh refinement + optimisation. Additional information and references are available via the GitHub repository: http://github.com/dengwirda/mesh2d.MESH2D is a simplified version of my three-dimensional mesh-generation algorithm JIGSAW, providing an implementation of "provably-good" Delaunay-refinement and Frontal-Delaunay triangulation techniques. JIGSAW is available here: http://github.com/dengwirda/jigsaw-matlab.MESH2D also makes use of my AABBTREE and FINDTRIA packages to compute efficient spatial queries and intersection tests. See http://github.com/dengwirda/aabb-tree and http://github.com/dengwirda/find-tria for details.

Psychophysics Toolbox Version 3 (or short "PTB") extends MATLAB with functions for research grade neuroscience stimulus presentation and response collection. The PTB core routines provide trustworthy, precise, and efficient functions for stimulus presentation and response collection in different modalities:- Visual stimulus presentation by use of modern graphics and display hardware via OpenGL and Vulkan hardware acceleration:• Drawing of complex 2D stimuli, including use of GPU shaders, framebuffer blending and texture mapping for real-time creation of complex dynamic stimuli and procedural stimuli.• Movie playback, also of HDR WCG movies, and movie recording, utilizing the GStreamer multi-media framework and many optimizations.• Video capture and live display, including GPU post-processing of live video, also with precisely timed control of professional class IIDC compliant Firewire and USB-Vision machine vision video cameras and synchronized multi-camera setups (Linux only for IIDC cameras). Includes video recording.• Drawing of 3D stimuli via direct low level OpenGL commands and via a high level 3D engine.• Stereoscopic presentation, supporting various different stereoscopic display techniques. This includes support for all head tracked VR, AR, MR headsets with OpenXR driver support on Linux and Windows, e.g., HMDs from Meta / Oculus, HTC, Valve, NorthStar, WMR etc.• Presentation of stimuli with high color/luminance/contrast precision on a wide range of suitable display hardware for bit depths beyond the typical 8 bits per color range, up to 16 bits per color channel with some equipment.• High Dynamic Range (HDR) stimulus display on Linux, MS-Windows, and with some limitations on macOS 10.15 and later.• GPU based fast stimulus post-processing to cover many common tasks like color-correction, gamma correction, geometric display distortion correction, vignette/shading correction.• Precisely timed and time-stamped stimulus presentation, also on multi-display setups.• Support for variable refresh rate displays (FreeSync, DisplayPort adaptive sync) on modern Linux.• Support for multiple types of photometers for display calibration.- Auditory stimulus presentation with low-latency, sub-millisecond precise timing and time-stamping, multi-channel support and convenient live control of some auditory stimulus parameters. Interfacing with the OpenAL API for 3D spatial stimuli.- Fast low level control of some types of digital and analog input/output hardware for control of stimulation and recording equipment via serial ports, network and USB.Response collection, sometimes with millisecond accurate time-stamping is provided from keyboards, keypads, mice, game controllers, and other HID input devices, and also - on Linux and Windows - on multitouch touchscreens. Different common response button boxes and eye trackers are also supported, as well as auditory response collection. Also support for eye gaze tracking on some supported VR headsets.Psychtoolbox also provides functions for precisely timed execution of code, and for control of the realtime scheduling facilities of the operating system.Ancillary routines support common needs like color space transformations, the QUEST threshold seeking algorithm and some other psychometric routines, file i/o and various convenient helper routines. A large set of demos is included.Psychtoolbox works best on recent versions of the GNU/Linux operating system, where it takes advantage of some unique features of that operating system (Ubuntu 20.04-LTS or later, Ubuntu 22.04-LTS or later recommended). It also works reasonably well on Microsoft Windows (Windows-10 recommended) and - with substantial limitations due to many operating system flaws and defects - Apple macOS (version 10.15.7 and later recommended), although those systems are often much more restricted in accuracy and reliability of stimulus presentation and response collection.Different parts of Psychtoolbox are licensed under different OSI compliant Free Software and Open Source licenses, with the majority of routines licensed under the MIT license.

This package contains a collection of classes and functions, which allow to comfortably work with medical images and meshes. It provides a intuitive and transparent way of dealing with spacing, origin, image orientation, etc. The package includes functions for input-output with common image formats (mhd, gipl) and mesh formats (vtk, stl), and basic (although not necessarily simple) image processing operations such as image resample, image reslice and image transform.Please do not hesitate to propose new features, examples or any constructive comments! The most up to date version can be found in the public gitlab repository:https://gitlab.com/compounding/matlab

Converts an input numerical value into an engineering-formatted string (as a character vector), in either scientific format with multiples-of-three exponent, or using SI prefixes e.g. k, M, n, p etc. It can also process the tick labels of graphs and colorbars. Please see here for an extensive list of num2eng examples.What makes this submission unique amongst the several num2eng and num2si functions on the file exchange is that it: • Supports scalar, vector, and matrix inputs• Can process axes and colorbar tick labels, including keeping the tick labels up-to-date if the ticks change (e.g. due to limit change, figure resize, etc.)• Supports complex number inputs• Properly handles edge-cases such as rounding, empty inputs, Inf, NaN, non-numerical inputs etc.• Uses either SI prefixes or engineering-formatted scientific notation• Optionally uses the Greek lower-case mu (Unicode U+03BC) as the SI prefix for numbers with magnitude in the range [1e-6, 1e-3)• Optionally uses the true minus character (Unicode U+2212) instead of hyphen-minus (U+002D) for negative numbers• Optionally uses the infinity symbol (Unicode U+221E) for infinite inputs• Optionally pads output strings using left or right justification• Optionally inserts trailing zeros to pad output string to the specified number of significant figures• Optionally outputs as a unified character vector for vector and 2D array inputs, rather than the default cell array of character vectors• Optionally prevents use of exponent or SI prefix for numbers with magnitude in the range [0.1, 1) (i.e., tenths)• When not using SI prefixes:-- Optionally pads the exponent with zeros to a specified width-- Optionally only shows a sign character in the exponent for negative exponents-- Optionally forces the exponent to always be included, even if it is zero-- Offers the choice of lower-case e, capital E, or small capital E (Unicode U+1D07) for the exponent• Optionally forces the mantissa to lie in the range [0.001, 1), rather than the more usual [1, 1000). One reason to use this option is to unambiguously convey accuracy via the number of significant figures in the output.• Optionally uses a comma, instead of a point, as the decimal separator• Allows the user to specify the units, to be appended to the end of the string (with additional control over whether this word is automatically pluralised or not)The function has two alternative call syntaxes:1. string = num2eng(number,[useSI],[useMu],[spaceAfterNum],[sigFigs],[fullName],[useMinus],[useInf],[trailZeros],[pad],[cellOutput]), where input variables in square brackets are optional - i.e. The function accepts anywhere from 1 to 11 inputs, inclusive.2. string = num2eng(number,optionsStruct), where the control options are passed in a structure. This syntax offers more options than syntax one.Using an options structure instead of individual option inputs:When num2eng was originally developed, the individual option-input approach was selected in order to make function hints as helpful as possible. However, as the number of options has grown, the function call has become unwieldy, especially if you only want to set one of the later options and leave the others at the default value. It’s also difficult to see at a glance what options are being used in a call to num2eng, when reading code that you’ve written earlier. This is where using syntax 2 comes in. You can pass num2eng an options structure as the second input. This structure can have anywhere from one to 21 fields, named as per the options listed above, with the additional options: noExp4Tenths, expWidth, expSign, expForce, unit, noPlural, capE, smallCapE, fracMant, useComma, axes.

plotframe: Plot a 3-D Cartesian coordinate systemSyntaxplotframe( )plotframe( rotationMatrix, translationVector )plotframe( rotationMatrix, translationVector, basisVectorLengths )plotframe( __ , Parent=ax )plotframe( __ , Name=Value )hg = plotframe( __ )InputsPositional ArgumentDescriptionrotationMatrixDefines the orientation of the coordinate frame, from the origin. 3-by-3 orthogonal matrix. Default is zero rotation, i.e., eye(3).translationVectorDefines the position of coordinate frame, from the origin. 1-by-3 or 3-by-1 numeric vector. Default is [0 0 0].basisVectorLengthsLength to plot each arrow (basis) of the coordinate frame. Scalar, 1-by-3, or 3-by-1 numeric vector. Default is 1.Name-Value ArgumentDescriptionParentAxes in which to plot. Scalar axes, group (hggroup), or transform (hgtransform) object. Default is the current axes (gca).UpdateFrameWith UpdateFrame, the passed plot handles will be updated with the current parameters, rather than creating a new plot. This is more efficient and convenient for moving frames. Handle to an existing frame plot, outputted from a previous call to plotframe.MatrixIndexingDepending on notation, either the columns or the rows of rotationMatrix define the orientation of the basis vectors. Text scalar, either "columnmajor" or "rowmajor". Default is row-major.LabelBasisWhether the bases should be labelled, e.g., "X", "Y", and "Z". Scalar logical. Default is false.LabelsText with which to label each basis, if LabelBasis is enabled. Scalar, 1-by-3, or 3-by-1 text vector. Default is {'X','Y','Z'}.BasisColorsColor for each basis vector. Any color format accepted by MATLAB can be used, e.g., RGB triplet [0 0 0], hexadecimal color code #000000, or color name 'black' or 'k'. Specify multiple colors with an M-by-3 matrix where each RGB color is a row, or as a 1-by-3 or 3-by-1 text array. Default is {'r','g','b'}.TextPropertiesCustom properties for the basis labels. Name-value arguments stored in a cell array of alternating text property names and values, e.g., {'FontSize',20,'FontWeight','bold'}.QuiverPropertiesAdditional name-value arguments are passed as properties of the Quiver charts used to plot the basis vectors, e.g., plotframe( LineStyle="-.", Marker="o" ).OutputArgumentDescriptionhgGroup object (hggroup) containing handles to the constituent parts of the coordinate frame plot, i.e., the 3 Quiver and optional Text objects.ExamplesPlease see examples.mlx or examples.pdf.Compatibility, License and CitationCreated in 2022b. Compatible with MATLAB release 2020b and later. Compatible with all platforms.Published under MIT License (see LICENSE.txt).Please cite George Abrahams (https://github.com/WD40andTape/plotframe, https://www.linkedin.com/in/georgeabrahams).

Finding Model is a utility that enables users to search Simulink Shipping/User-defined Models based on Block Names. The search criteria can be filtered using:1. Solver Type 2. Specific block connectivity patterns in the models3. Models using Custom Code as Simulation Target4. User Defined Models5. User Defined Libraries6. Specified Keywords used as Annotations in the models7. Code generation TargetThe user needs to download and install MLAPP corresponding to the installed MATLAB version.

Welcome to the world of Transit Search (TS), a cutting-edge optimization algorithm that draws inspiration from the remarkable method of exoplanet detection known as transit. The TS presents a novel astrophysics-inspired meta-heuristic approach to solving complex scientific problems. With more than 3800 planets detected using the transit technique by space telescopes, this algorithm harnesses the power of transit exploration and adapts it to the realm of optimization.The benefits of employing the TS algorithm in scientific research and problem-solving are manifold. Firstly, optimization lies at the heart of many scientific disciplines, from industrial internet of things to wireless networks, shape optimization of electric machines to vulnerability assessment of structures subjected to seismic activity. By leveraging TS, researchers can unlock new frontiers in their respective fields and achieve optimal solutions efficiently.Unlike classical methods, which may guarantee optimal responses but struggle with complex and large-scale problems, meta-heuristic algorithms like TS excel in tackling such challenges. These algorithms may not guarantee finding the absolute best solution, but they excel in approximating optimal and acceptable answers within a reasonable timeframe. TS strikes a delicate balance between exploration and exploitation, employing innovative strategies inspired by the natural phenomena observed in exoplanet detection.

# MPLAB Device Blocks for SimulinkMPLAB Device Blocks for Simulink target boards equipped with a dsPIC :registered:, PIC32 :registered:, SAMx2, SAMx5 or SAMx7.This support package is functional from Matlab R2015a up to current version (R2024a).## Installation / Update[![View MPLAB Device Blocks for Simulink :dsPIC, PIC32 and SAM mcu on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://fr.mathworks.com/matlabcentral/fileexchange/71892-mplab-device-blocks-for-simulink-dspic-pic32-and-sam-mcu)### clean previous installation- **picclean** at MATLAB prompt or- MathWorks toolstrip: Add-ons => Manage Add-ons => remove### Installation - MathWorks toolstrip: Add-ons => Manage Add-ons => search for "**MPLAB**" or "**MPLAB Device Block for Simulink**".The live script opening at end of installation helps validating setup for installed compiler (xc-32, xc-dsc) and programming interface (MPLAB X IDE). Link to download theses tools are provided.- With older matlab release without Add-ons toolstrim: Download from github and run install.p script.The install.p script might be used in university or system with limited rights to install the tools in a user defined folder.### Commands- picclean: clean-up matlab path from previous installations.- picsetup: from the mchp sub-folder, re-configure the matlab path if required.- picInfo('check'): Verify installation of compilers and tool to program chips- picInfo('examples'): copy example in current working folder- picInfo('cmd'): list command Visit the Microchip [blockset forum](https://forum.microchip.com/s/sub-forums?&subForumId=a553l000000J2rNAAS&forumId=a553l000000J2pvAAC&subForumName=MATLAB&page=1&offset=0)## PresentationLibrary blocks provide easy interface to set-up DSP/MCU peripherals and interface peripheral generated code to code from embedded coder. (non-exhaustive peripheral block list: ADC, QEI, PWM, IC, OC, CN, I2C, SPI, UART, Op-Amp, Comparator, DAC...)No embedded programming knowledge is required. The blockset enable rapid prototyping on boards equipped with one Supported MCU.## Features- Built-in scheduler implemented with multi-tasking or single-tasking option for multi-rate models.- Advanced configuration for ADC / PWM peripheral enable ADC sampling beeing triggered in sync with PWM signal. Typical for motor or power applications. And of ADC conversion might trig the calculation time step minimizing delays. - A lightweight custom protocol allows visualizing and recording data through the UART. The built-in picgui interface allows plotting incoming data using your own matlab script. Data log enable further analysis or offline identification and allow to feed a simulation with real data.- The custom "C function" block allows including your own code if required.The blockset support MathWorks features:- Processor in the loop (PIL)- External mode.- Code replacement to benefit from DSP architecture of our dsPIC, or CMSIS library for SAM chips based on ARM core.This version embed a third part tool adding blocks for UAVs projects (GPS, MAVLink, Receiver S.BUS, S.Port and F.Port blocks for dsPIC). Type picInfo to find out how to install the UxV blocks.## Requirements- MathWorks (from R2015a to R2024a) - Matlab - Simulink - Embedded Coder - Matlab Coder - Simulink Coder - Microchip Ide - MPLAB X IDE [download](https://www.microchip.com/MPLABX)- Microchip Compiler: - xc-dsc compiler for Digital Signa Controllers (DSCs) [download](https://www.microchip.com/xcdsc) (dsPIC) - xc32 compiler for 32 bits MCU [download](https://www.microchip.com/xc32) (PIC32, SAMx5, SAMx7)- Microchip programmer: - PicKit4 - ICD4 - J-32 - Snap programmer - Real-Ice - PicKit3 - ICD3 - Microchip kit Embedded programmer (EDBG) - ...## Release notes- v3.57 - Added [dsPIC33A](https://www.microchip.com/en-us/products/microcontrollers-and-microprocessors/dspic-dscs/dspic33a) family support, 32-bit CPU, 200MHz, 72-bit DSP accumulators and Floating Point Unit (FPU) - Enabled option to use standard C datatype with integer width, or custom user definition - Fixed external mode not functional with single tasking model - Other improvement on programming interface and minor bugfixes- v3.55 - added picgui.log2mat script decoding picgui log without using the GUI - Added pin configurations (dsPICs & PIC32): initial state, pull-up, pull-down and open drain. - Fixed variables set in text fields when peripheral blocks were in a masked subsystem (did not get access to mask variables) - User functions in Simulink user custom code are now listed in C function block - Various improvements/fixes for Matlab R2024a- v3.54 - fixed: xc-dsc not found on linux - fixed: MPLAB blocks might not show-up in the simulink library- v3.53 - Early support for dsPIC33CK64CDVL106 - Fixed dsPIC UART Half duplex driver issue with some chip - Fixed one error with external mode - v3.52 - Added xc-dsc compiler suport for dsPIC. xc16 suport will continue - Added unused code removal option taking place at linker stage - Added motor control examples from INSA Lyon University (France) - added ADC block for SAMRH707 - Refactor dsPIC scheduler code enabling further compiler optimization efficiency - Improved DFP automatic path update - Fixed virtual pin not showing up - Fixed code for SPI on dsPIC with 4 byte internal SPI buffer instead of 8 - Fixed scheduler issue on dsPIC for single tasking implementation with at least one asynchronous task (user interrupt) set - Fixed UART issue with rtiostream when using DMA implementation - Other minor fixes- v3.51 - Added some options on UART driver (dsPIC) - Added virtual pin connection (dsPIC) - SAMC21: bugfix for UART, SPI and I2C - Support for SAMRH707 - Fixed compatibility issue with Matlab R2023b - Improved support for external mode with older release - Fixed external mode UART driver using a DMA circular buffer on dsPIC- v3.50.35 - Added board templates for - LVMC (dsPIC33CK256MP508) - MCLV-48V-300W - dsPIC33CK256MP508 DIM (internal & external Op-Amp) - dsPIC33CK64MC105 DIM (internal & external Op-Amp) - MCLV2 - dsPIC33CK256MP508 PIM (internal & external Op-Amp) - dsPIC33CK64MC105 PIM (internal & external Op-Amp) - dsPIC33EP256MC506 (external Op-Amp) - Power Tool reference design (dsPIC33CK64MP105) - improved linux compatibility - added UART linux compatible baudrates - fixed UxV third part tool with blocks for GPS, Receiver, Telemetry, Mavlink... - bugfixes (dsPIC): - QEI: error on first block GUI opening - Fixed blocks behaviour when placec in a masked subsystem - fixed DOC block to download & access MCU datasheet - UART: GUI provide number of internal chip buffer size - removed some warning related to fast Memcpy function - ADC for dsPIC CK/CH: fixed missing alternative pins when two ANx shared a same pin. Provide accurate name for internal channels (IVref, Temp, Vbat, CTMU...) - some updates on the UART Circular buffer DMA based driver- v3.50.33 - External mode: - Fixed single tasking implementation with XCP - clean dsPIC CK PWM start and stop - improved interface when Host UART is not set prior to start external mode - Remove MPLAB X 6.05 MDB interface used to program chip. The MDB v6.05 command line chip programming is broken. System will use either IPE v6.05, or another MDB version if available. - Fixed dsPIC Matrix replacement memory leak when output is a vector transposed - fixed linux issue when toolbox was installed in a path containing parenthesis like "(1)" - improved custom linker script path issue in specifics conditions- v3.50.32 - fixed one typo within package causing issue with SAM new CAN block and dsPIC UART Circular buffer DMA driver.- v3.50.31 - revert using programmer in debug mode to force starts of the program (MPLAB X 6.05 should get fixed instead) - minor improvements on toolstrip and programming functions (upated IPE)- v3.50.30 - Fixed program not starting until disconnecting programmer / press reset button if available - various fixes on XCP and UART DMA driver for dsPIC- v3.50.29 - Added Microchip toolstirp - Added CAN support for SAME7 - Updated QDEC quadrature function block for SAMx - added UART Circular buffer with DMA on dsPIC - Fixed PIC32 SPI SCK2 missing mapping - Fixed pin mapping errors with dsPIC / PIC32 - Upated External mode XCP support on dsPIC- v3.50.27 - added support for dsPIC32MK EFE/EFF/EFK family - support SPI on SAMx7 - support I2C on SAMx7 - Fixed I2C for chip with non continuous I2C references (1 2 4 5..) - Fixed SPI potential timing issue with fast clock chips (PIC32) - added example using custom code to write SAMx FLASH (EEPROM emulator) - Add Timers functionality on SAMx chips - Improved PIL support with Test Harness - Fixed Low priority interrupt with PIC32MZ that might trig an exception- v3.50.26 - fixed SPI code not generated with PIC32- v3.50.25 - PIL: Added support for PIL Top-Model and PIL Referenced Model approach - v3.50.24 - Added dsPIC CK 128 & 256 - Fixed code Replacement for dsPIC not compiling in debug mode -O0 option - PIC32 ADC High Speed SAR fixed channel of class 3 below 32 were handled as class 2 (break compilation)- v3.50.23 - missing file for Code Replacement for the dsPIC atan2 function - v3.50.22 - Improved PIL on Linux - Fixed issue on SAMx7 when analog port is used and no othet peripheral used the same port (Letter) - Fixed SPI & I2C peripheral block, broken with SAMx2 and SAMX5. - Complete support for dsPIC CK MC - dsPIC Improved Code Replacement accuracy. Fix one typo preventing compilation in rare cases - dsPIC, Code replaced (sin, cos, atan2) works with revolution unit, not limited to radian.- v3.50.20 - Updated datasheet block to locate pdf from Microchip website - Fixed dsPIC Optimized assembly code issue resulting in wrong output with XC16 v2.00 set with -Ox optimization enabled. - Fixed Idle task call to math function not compiling - Fixed SAMx7 analog pin configuration that might have a bias due to internal peripheral connection - Improve compatibility with protected IP submodel - Improved PIl support - Experimental support for dsPIC CK MC- v5.50.19 - Programming interface updated. Extend number of kit programmed from matlab (use latest MPLAB X version. current release is 6.0.0) - PIL target initialisation code improved. Fixed possible code issue with initialisation function signature mismatch - PIL UART interface compatible with USB-COM port available on kits. Enabling host data flow control- v5.50.18 - SAMx7: Fixed USART generated code typo with interrupt implementation - dsPIC CK: Fixed Change Notification User Interrupt triggered twice - Improved UART block User Interface - SAMx7: Add Fuse configuration ensuring Fuse get programmed - SAMx7: Disable ICE functions on PORT B when pin is used for another purpose - SAMx: Add compilation of intermediate model (library) - Add PIL and External Mode example for Xplained Ultra board - Update Installer- v3.50.17: - Fixed programming not working form Linux (issue from 3.50.16) - Update installer. Simplify installation as an add-on.- v3.50.16: - C Function Call: fixed issue breaking simulink datatype class settings - Matlab R2021b: code generator report not showing-up. Renamed compilation from .X to _X - Improving DFP & CMSIS search script - SAMx7 ADC: remove pull-up on analog chanels - SAMx5 UART: add distinct priority for Tx & Rx - SAMx5 UART: some baudrate setting were not working (no output) - SAMx: removed register keyword wich might cause issue at compilation - dsPIC PWM FEP: not working wheh channel 1 were not used - dsPIC with dual core: always re-compile Main model code required. - dsPIC: fixed code generated issue with SPI peripheral - dsPIC: remove default fuse set for Brown Out reset - dsPIC: fixed short double setting in MPLAB X project - Improved MPLAB X project creation - External mode: Add XCP protocol option (experimental) - v3.50.13: - dsPIC CH (dual core): Fixed Main/Secondary Interface. MSI Fuse not configured- v3.50.12: - SAMx: Fixed Link Time Optimizer incorrect syntax - SAMx: Added CAN example for SAMx7 - SAMx: Optimized DCache update - SAMx7: Fixed typo on UART Tx when set with DMA & single buffer - v3.50.11: - Improved robustness for long or special path with Windows & Linux - SAMx7 QDEC peripheral: added Index edge option- v3.50.10: - dsPIC CH update Slave->Secondary call convention for XC16 1.70- v3.50.09: - Fixed Watch dog not Disabled for some (ds)PIC chips reseting after few seconds. - Updated PIL & External mode for dsPIC with R2020b + updated example with dsPIC33CK Curiosity board - Fixed SAMx7 AFEC (ADC) possible issue with channel inversion (wrong block outputs) - SAMx7 improved library inclusion in MPLAB X project - v3.50.08: - Added SPI & I2C Support for SAMx2 & SAMx5 - picflash issue when multiple MPLAB X above v5.45 installed - SAMx5 Number of UART listed might be incorrect - SAMx5 ADC Time Step Trigger Parameters lost when model is saved - SAMx Improved performance by removing some instruction barriere (DSP & ISB) - dsPIC ADC HS SAR Fractional mode : typo prevent compilation.- v3.50.07:- SAMx5 & SAMx7 Busy flag (for CPU load measurement ) stuck to 1 after short period of time- SAMx chip: Add CMSIS DSP librar to MPLAB X project when using CRL (Required Mathworks Support Package for ARM Cortex-M)- SAMx7 PWM event set to instant 0 had no effect- SAMx7 ADC: Fixes on AFEC 1 behaviour (not working when used without AFEC0, Issue with triggering time step when used with AFEC 0)- v3.50.06:- dsPIC 33FJxxGS had incorrect fuse option name (compilation break)- Internal error might cause incorrect peripheral behaviour with blocks supporting multiple instantiation- Fixed issue introduced with 3.50.04 that break compilation of model embedding a model reference block (sub-model)- v3.50.05:- DFP & CMSIS DSP library search path not proposing newly installed package/library Linux: CMSIS DSP lib failed at compilation time- MPLAB X project not created (R2020b, SAMx7)- v3.50.04: - Added SAMx7 PWM Override block- SAMx Peripheral Port mapping issue when a peripheral set-up several time the same pin (i.e. ADC multiple conversion of the same input pin on SAMx7)- Fixed issue with MW environment block Sim/CodeGen for mixed model (simulation & code generation) (update)- v3.50.03: - Fixed issue with MW environment block Sim/CodeGen for mixed model (simulation & code generation)- v3.50.02:- Fixed CMSIS DSP Library possibly added with incorrect path for SAMx5 & SAMx2- Enabled CMSIS DSP library link option- Fixed SAMx7 PWM1 trigger not set on ADC depending on PWM0 and on blocks PWM0/1 execution order- v3.50.01:- Fixed UART DMA Tx implementation for SAMx7- v3.50 - Support SAM C2x / D2x / DA1 - SAMx5 ADC: Multiple conversion per ADC, Trig ADC, Synchronize with Time Step, initialize with NVM factory calibration. - SAMx5 QDEC: Add further options and simplify GUI. - Linux support (except PIL & External Mode) - dsPIC Code Replacement fixed on R2021a - dSPIC CH/CK fixed issue on PWM HS for noncontiguous channel setup. Duty cycle block input swapped (Ch1-Ch3) - CHANGE BEHAVIOUR !! SAMx7 PWM: Dead Time initial value were divided by 2. (1us on GUI set 0.5us on board) - Issue if no CMSIS installed - Improved Simulink compiler option set in MPLAB project created. - Improve doc block ability to locate online chip datasheet - picgui update- v3.49.02 - PWM HS FEP fixed several issues - programming interface update. overall speed improvement - Support Seeger programming hardware (J-32 / J flash Seeger driver) - ...- v3.49.01: - Fixed PIL issue with dsPIC / R2018b- v3.49: - Updated External-Mode & PIL. Added examples - SAMx scheduler robust to overload - PICGUI: data visualisation run in background - MPLAB X project creation is more robust - dsPIC UART Driver update (typo fixed, robust in idle tasks sending data) - dsPIC EV watch dog setting fixed - Task State block fixed pin settinf for SAMx - Update makefile with R2020b template - dsPIC 30f default fuse value is not 1 by default. Write all fuses - dsPIC CK/CH fixed code replacement FastMemCpy implementation - dsPIC CCPx timer typo for some blocks that use timer - Updated PIC32 IPL switch function- v3.48: - Added SPI & I2C for SAMx5 family - ADC for SAMx5: fixed AIN0 channel input not working - Added support for 64 bit MPLAB X Ide (v5.45 and above) - Fixed I2C & SPI register names for some dsPICs (EV, FJ) - dsPIC Change Notification / Input Capture: Fixed GUI Error when copy-past block to a model with a different chip - Relaxed conditions triggering SINCOS Code Replacement. - v3.47.00: - Added SPI support for dsPIC GS, CH, CK - Fixed pin mapping inconsistency on dualcore dsPIC for Secondary Core - Fixed generic issue with former Matlab release - Fixed MPLAB X project creation with R2019a- v3.46.064: - Improved SAMx5 support. Added SPI support - Fixed issue with dual core dsPIC support. Renamed core appelation with Main and Secondary. - Fixed MPLAB X project not created with R2020b - Added PIC32 GPK MCG and GPG- v3.46.063: - Support for SAMx5 familly - Fixed search issue for recent XC compilers - Support external CMSIS and DFP packages - Renamed scripts pad and padr to picgui.pad/padr (Conflict with MathWorks scripts on recent versions) - v3.46.05: - Fixed compiling issue when using a model reference block (compiling submodel as a library)- v3.46.04: - PIC32: Extend limited choice for output pin function (Pin mapping)- v3.46.03: - fixed Java related issue with programmer interface- v3.46.02: - SPI fixed DMA support for PIC32. Added 8 bit mode with DMA enabled for dsPIC- v3.46.01: - Programmer interface (Java might not be found) - SAMx7 chip issues with doc block ; MPLAB X project - Installer script propose old installation method (might fix add-ons issues related to user permissions in classroom/lab configuration)- v3.46.00: - Added support for dual core dsPIC CH- v3.45.05: - Fixed QEI typo in generated code (PIC32MK) - fixed SPI typo affecting slave mode (PIC32)- v3.45.04: - Fixed possible issue with MPLAB X project creation with model targeting PIC32 - Fixed Typo on Timer code generator for PIC32 (project not compiling when problem occurs) - Added an External Mode example for PIC32MZ + minor update on other example and script compiling all models- v3.45.03: - Fixed wrong heap linker flag at command line for PIC32 when using Compiler Option block - Fixed PIL and External Mode GUI not showing the model UART block settings.- v3.45.02: - Added IPE or MDB choice for programming (previously automatically selected) - Added support for comparator for dsPIC33FJxxMC 02/06 - Added support for SNAP and PICKIT 4 programmer with MDB interface - Removed files generated by programmer interface (MDB or IPE) in working folder. - Fixed some issue with SAMx70 and SAMx71 family - Reduced Wait State for SAMV - Updated motor example for SAME70 PIM with MCLV2 board - Added missing dsPIC33CK - Improved compatibility with Matlab R2010a - Extended block GUI text fields which can evaluate workspace variables - UxV toolbox: improved compatibility with R2010a### Supported MCUs (647)- **dsPIC30F** - 30F2010 - 30F2011 - 30F2012 - 30F3010 - 30F3011 - 30F3012 - 30F3013 - 30F3014 - 30F4011 - 30F4012 - 30F4013 - 30F5011 - 30F5013 - 30F5015 - 30F5016 - 30F6010 - 30F6011 - 30F6012 - 30F6013 - 30F6014 - 30F6015- **PIC32MK GPG** - 32MK0256GPG048 - 32MK0256GPG064 - 32MK0512GPG048 - 32MK0512GPG064- **PIC32MK MCJ** - 32MK0256MCJ048 - 32MK0256MCJ064 - 32MK0512MCJ048 - 32MK0512MCJ064- **PIC32MK GPK** - 32MK0512GPK064 - 32MK0512GPK100 - 32MK1024GPK064 - 32MK1024GPK100- **PIC32MK MCF** - 32MK0512MCF064 - 32MK0512MCF100 - 32MK1024MCF064 - 32MK1024MCF100- **PIC32MK MCM** - 32MK0512MCM064 - 32MK0512MCM100 - 32MK1024MCM064 - 32MK1024MCM100- **PIC32MZ EFE** - 32MZ0512EFE064 - 32MZ0512EFE100 - 32MZ0512EFE124 - 32MZ0512EFE144 - 32MZ1024EFE064 - 32MZ1024EFE100 - 32MZ1024EFE124 - 32MZ1024EFE144- **PIC32MZ EFF** - 32MZ0512EFF064 - 32MZ0512EFF100 - 32MZ0512EFF124 - 32MZ0512EFF144 - 32MZ1024EFF064 - 32MZ1024EFF100 - 32MZ1024EFF124 - 32MZ1024EFF144- **PIC32MZ EFK** - 32MZ0512EFK064 - 32MZ0512EFK100 - 32MZ0512EFK124 - 32MZ0512EFK144 - 32MZ1024EFK064 - 32MZ1024EFK100 - 32MZ1024EFK124 - 32MZ1024EFK144- **PIC32MZ EFG** - 32MZ1024EFG064 - 32MZ1024EFG100 - 32MZ1024EFG124 - 32MZ1024EFG144 - 32MZ2048EFG064 - 32MZ2048EFG100 - 32MZ2048EFG124 - 32MZ2048EFG144- **PIC32MZ EFH** - 32MZ1024EFH064 - 32MZ1024EFH100 - 32MZ1024EFH124 - 32MZ1024EFH144 - 32MZ2048EFH064 - 32MZ2048EFH100 - 32MZ2048EFH124 - 32MZ2048EFH144- **PIC32MZ EFM** - 32MZ1024EFM064 - 32MZ1024EFM100 - 32MZ1024EFM124 - 32MZ1024EFM144 - 32MZ2048EFM064 - 32MZ2048EFM100 - 32MZ2048EFM124 - 32MZ2048EFM144- **dsPIC33AK MC** - 33AK128MC102 - 33AK128MC103 - 33AK128MC105 - 33AK128MC106 - 33AK32MC102 - 33AK32MC103 - 33AK32MC105 - 33AK32MC106 - 33AK64MC102 - 33AK64MC103 - 33AK64MC105 - 33AK64MC106- **dsPIC33CDV MP** - 33CDV128MP206 - 33CDV128MP506 - 33CDV256MP206 - 33CDV256MP506- **dsPIC33CDV MC** - 33CDV64MC106- **dsPIC33CDVC MP** - 33CDVC128MP506 - 33CDVC256MP506- **dsPIC33CDVL MC** - 33CDVL64MC106- **dsPIC33CH MP** - 33CH1024MP305 - 33CH1024MP306 - 33CH1024MP308 - 33CH1024MP405 - 33CH1024MP406 - 33CH1024MP408 - 33CH1024MP410 - 33CH1024MP412 - 33CH1024MP605 - 33CH1024MP606 - 33CH1024MP608 - 33CH1024MP705 - 33CH1024MP706 - 33CH1024MP708 - 33CH1024MP710 - 33CH1024MP712 - 33CH128MP202 - 33CH128MP203 - 33CH128MP205 - 33CH128MP206 - 33CH128MP208 - 33CH128MP502 - 33CH128MP503 - 33CH128MP505 - 33CH128MP506 - 33CH128MP508 - 33CH256MP205 - 33CH256MP206 - 33CH256MP208 - 33CH256MP218 - 33CH256MP505 - 33CH256MP506 - 33CH256MP508 - 33CH512MP205 - 33CH512MP206 - 33CH512MP208 - 33CH512MP305 - 33CH512MP306 - 33CH512MP308 - 33CH512MP405 - 33CH512MP406 - 33CH512MP408 - 33CH512MP410 - 33CH512MP412 - 33CH512MP505 - 33CH512MP506 - 33CH512MP508 - 33CH512MP605 - 33CH512MP606 - 33CH512MP608 - 33CH512MP705 - 33CH512MP706 - 33CH512MP708 - 33CH512MP710 - 33CH512MP712 - 33CH64MP202 - 33CH64MP203 - 33CH64MP205 - 33CH64MP206 - 33CH64MP208 - 33CH64MP502 - 33CH64MP503 - 33CH64MP505 - 33CH64MP506 - 33CH64MP508- **dsPIC33CK MP** - 33CK1024MP405 - 33CK1024MP406 - 33CK1024MP408 - 33CK1024MP410 - 33CK1024MP705 - 33CK1024MP706 - 33CK1024MP708 - 33CK1024MP710 - 33CK128MP202 - 33CK128MP203 - 33CK128MP205 - 33CK128MP206 - 33CK128MP208 - 33CK128MP502 - 33CK128MP503 - 33CK128MP505 - 33CK128MP506 - 33CK128MP508 - 33CK256MP202 - 33CK256MP203 - 33CK256MP205 - 33CK256MP206 - 33CK256MP208 - 33CK256MP305 - 33CK256MP306 - 33CK256MP308 - 33CK256MP405 - 33CK256MP406 - 33CK256MP408 - 33CK256MP410 - 33CK256MP502 - 33CK256MP503 - 33CK256MP505 - 33CK256MP506 - 33CK256MP508 - 33CK256MP605 - 33CK256MP606 - 33CK256MP608 - 33CK256MP705 - 33CK256MP706 - 33CK256MP708 - 33CK256MP710 - 33CK32MP102 - 33CK32MP103 - 33CK32MP105 - 33CK32MP202 - 33CK32MP203 - 33CK32MP205 - 33CK32MP206 - 33CK32MP502 - 33CK32MP503 - 33CK32MP505 - 33CK32MP506 - 33CK512MP305 - 33CK512MP306 - 33CK512MP308 - 33CK512MP405 - 33CK512MP406 - 33CK512MP408 - 33CK512MP410 - 33CK512MP605 - 33CK512MP606 - 33CK512MP608 - 33CK512MP705 - 33CK512MP706 - 33CK512MP708 - 33CK512MP710 - 33CK64MP102 - 33CK64MP103 - 33CK64MP105 - 33CK64MP202 - 33CK64MP203 - 33CK64MP205 - 33CK64MP206 - 33CK64MP208 - 33CK64MP502 - 33CK64MP503 - 33CK64MP505 - 33CK64MP506 - 33CK64MP508- **dsPIC33CK MC** - 33CK128MC102 - 33CK128MC103 - 33CK128MC105 - 33CK128MC106 - 33CK128MC502 - 33CK128MC503 - 33CK128MC505 - 33CK128MC506 - 33CK256MC102 - 33CK256MC103 - 33CK256MC105 - 33CK256MC106 - 33CK256MC502 - 33CK256MC503 - 33CK256MC505 - 33CK256MC506 - 33CK32MC102 - 33CK32MC103 - 33CK32MC105 - 33CK64MC102 - 33CK64MC103 - 33CK64MC105- **dsPIC33CK MPT** - 33CK256MPT608 - 33CK512MPT608- **dsPIC33EP GM** - 33EP128GM304 - 33EP128GM306 - 33EP128GM310 - 33EP128GM604 - 33EP128GM706 - 33EP128GM710 - 33EP256GM304 - 33EP256GM306 - 33EP256GM310 - 33EP256GM604 - 33EP256GM706 - 33EP256GM710 - 33EP512GM304 - 33EP512GM306 - 33EP512GM310 - 33EP512GM604 - 33EP512GM706 - 33EP512GM710- **dsPIC33EP GP** - 33EP128GP502 - 33EP128GP504 - 33EP128GP506 - 33EP256GP502 - 33EP256GP504 - 33EP256GP506 - 33EP32GP502 - 33EP32GP503 - 33EP32GP504 - 33EP512GP502 - 33EP512GP504 - 33EP512GP506 - 33EP512GP806 - 33EP64GP502 - 33EP64GP503 - 33EP64GP504 - 33EP64GP506- **dsPIC33EP GS** - 33EP128GS702 - 33EP128GS704 - 33EP128GS705 - 33EP128GS706 - 33EP128GS708 - 33EP128GS804 - 33EP128GS805 - 33EP128GS806 - 33EP128GS808 - 33EP16GS202 - 33EP16GS502 - 33EP16GS504 - 33EP16GS505 - 33EP16GS506 - 33EP32GS202 - 33EP32GS502 - 33EP32GS504 - 33EP32GS505 - 33EP32GS506 - 33EP64GS502 - 33EP64GS504 - 33EP64GS505 - 33EP64GS506 - 33EP64GS708 - 33EP64GS804 - 33EP64GS805 - 33EP64GS806 - 33EP64GS808- **dsPIC33EP MC** - 33EP128MC202 - 33EP128MC204 - 33EP128MC206 - 33EP128MC502 - 33EP128MC504 - 33EP128MC506 - 33EP256MC202 - 33EP256MC204 - 33EP256MC206 - 33EP256MC502 - 33EP256MC504 - 33EP256MC506 - 33EP32MC202 - 33EP32MC203 - 33EP32MC204 - 33EP32MC502 - 33EP32MC503 - 33EP32MC504 - 33EP512MC202 - 33EP512MC204 - 33EP512MC206 - 33EP512MC502 - 33EP512MC504 - 33EP512MC506 - 33EP512MC806 - 33EP64MC202 - 33EP64MC203 - 33EP64MC204 - 33EP64MC206 - 33EP64MC502 - 33EP64MC503 - 33EP64MC504 - 33EP64MC506- **dsPIC33EP MU** - 33EP256MU806 - 33EP256MU810 - 33EP256MU814 - 33EP512MU810 - 33EP512MU814- **dsPIC33EV GM** - 33EV128GM002 - 33EV128GM003 - 33EV128GM004 - 33EV128GM006 - 33EV128GM102 - 33EV128GM103 - 33EV128GM104 - 33EV128GM106 - 33EV256GM002 - 33EV256GM003 - 33EV256GM004 - 33EV256GM006 - 33EV256GM102 - 33EV256GM103 - 33EV256GM104 - 33EV256GM106 - 33EV32GM002 - 33EV32GM003 - 33EV32GM004 - 33EV32GM006 - 33EV32GM102 - 33EV32GM103 - 33EV32GM104 - 33EV32GM106 - 33EV64GM002 - 33EV64GM003 - 33EV64GM004 - 33EV64GM006 - 33EV64GM102 - 33EV64GM103 - 33EV64GM104 - 33EV64GM106- **dsPIC33FJ GP** - 33FJ128GP202 - 33FJ128GP204 - 33FJ128GP206 - 33FJ128GP206A - 33FJ128GP306 - 33FJ128GP306A - 33FJ128GP310 - 33FJ128GP310A - 33FJ128GP706 - 33FJ128GP706A - 33FJ128GP708 - 33FJ128GP708A - 33FJ128GP710 - 33FJ128GP710A - 33FJ128GP802 - 33FJ128GP804 - 33FJ12GP201 - 33FJ12GP202 - 33FJ16GP304 - 33FJ256GP506 - 33FJ256GP506A - 33FJ256GP510 - 33FJ256GP510A - 33FJ256GP710 - 33FJ256GP710A - 33FJ32GP202 - 33FJ32GP204 - 33FJ32GP302 - 33FJ32GP304 - 33FJ64GP202 - 33FJ64GP204 - 33FJ64GP206 - 33FJ64GP206A - 33FJ64GP306 - 33FJ64GP306A - 33FJ64GP310 - 33FJ64GP310A - 33FJ64GP706 - 33FJ64GP706A - 33FJ64GP708 - 33FJ64GP708A - 33FJ64GP710 - 33FJ64GP710A - 33FJ64GP802 - 33FJ64GP804- **dsPIC33FJ MC** - 33FJ128MC202 - 33FJ128MC204 - 33FJ128MC506 - 33FJ128MC506A - 33FJ128MC510 - 33FJ128MC510A - 33FJ128MC706 - 33FJ128MC706A - 33FJ128MC708 - 33FJ128MC708A - 33FJ128MC710 - 33FJ128MC710A - 33FJ128MC802 - 33FJ128MC804 - 33FJ12MC201 - 33FJ12MC202 - 33FJ16MC304 - 33FJ256MC510 - 33FJ256MC510A - 33FJ256MC710 - 33FJ256MC710A - 33FJ32MC202 - 33FJ32MC204 - 33FJ32MC302 - 33FJ32MC304 - 33FJ64MC202 - 33FJ64MC204 - 33FJ64MC506 - 33FJ64MC506A - 33FJ64MC508 - 33FJ64MC508A - 33FJ64MC510 - 33FJ64MC510A - 33FJ64MC706 - 33FJ64MC706A - 33FJ64MC710 - 33FJ64MC710A - 33FJ64MC802 - 33FJ64MC804- **PIC32** - PIC32CM1216MC00032 - PIC32CM1216MC00048 - PIC32CM6408MC00032 - PIC32CM6408MC00048- **SAMC20** - SAMC20E15A - SAMC20E16A - SAMC20E17A - SAMC20E18A - SAMC20G15A - SAMC20G16A - SAMC20G17A - SAMC20G18A - SAMC20J15A - SAMC20J16A - SAMC20J17A - SAMC20J17AU - SAMC20J18A - SAMC20J18AU - SAMC20N17A - SAMC20N18A- **SAMC21** - SAMC21E15A - SAMC21E16A - SAMC21E17A - SAMC21E18A - SAMC21G15A - SAMC21G16A - SAMC21G17A - SAMC21G18A - SAMC21J15A - SAMC21J16A - SAMC21J17A - SAMC21J17AU - SAMC21J18A - SAMC21J18AU - SAMC21N17A - SAMC21N18A- **SAMD20** - SAMD20E14 - SAMD20E14B - SAMD20E15 - SAMD20E15B - SAMD20E15BU - SAMD20E16 - SAMD20E16B - SAMD20E16BU - SAMD20E17 - SAMD20E18 - SAMD20E1F - SAMD20G14 - SAMD20G14B - SAMD20G15 - SAMD20G15B - SAMD20G16 - SAMD20G16B - SAMD20G17 - SAMD20G17U - SAMD20G18 - SAMD20G18U - SAMD20J14 - SAMD20J14B - SAMD20J15 - SAMD20J15B - SAMD20J16 - SAMD20J16B - SAMD20J17 - SAMD20J18- **SAMD21** - SAMD21E15A - SAMD21E15B - SAMD21E15BU - SAMD21E15CU - SAMD21E15L - SAMD21E16A - SAMD21E16B - SAMD21E16BU - SAMD21E16CU - SAMD21E16L - SAMD21E17A - SAMD21E17D - SAMD21E17DU - SAMD21E17L - SAMD21E18A - SAMD21F17L - SAMD21G15A - SAMD21G15B - SAMD21G15L - SAMD21G16A - SAMD21G16B - SAMD21G16L - SAMD21G17A - SAMD21G17AU - SAMD21G17D - SAMD21G17L - SAMD21G18A - SAMD21G18AU - SAMD21J15A - SAMD21J15B - SAMD21J16A - SAMD21J16B - SAMD21J17A - SAMD21J17D - SAMD21J18A- **SAME51** - SAME51G18A - SAME51G19A - SAME51J18A - SAME51J19A - SAME51J20A - SAME51N19A - SAME51N20A- **SAME53** - SAME53J18A - SAME53J19A - SAME53J20A - SAME53N19A - SAME53N20A- **SAME54** - SAME54N19A - SAME54N20A - SAME54P19A - SAME54P20A- **SAME70** - SAME70J19B - SAME70J20B - SAME70J21B - SAME70N19B - SAME70N20B - SAME70N21B - SAME70Q19B - SAME70Q20B - SAME70Q21B- **SAMRH707** - SAMRH707F18A- **SAMRH71** - SAMRH71F20B - SAMRH71F20C- **SAMS70** - SAMS70J19B - SAMS70J20B - SAMS70J21B - SAMS70N19B - SAMS70N20B - SAMS70N21B - SAMS70Q19B - SAMS70Q20B - SAMS70Q21B- **SAMV70** - SAMV70J19B - SAMV70J20B - SAMV70N19B - SAMV70N20B - SAMV70Q19B - SAMV70Q20B- **SAMV71** - SAMV71J19B - SAMV71J20B - SAMV71J21B - SAMV71N19B - SAMV71N20B - SAMV71N21B - SAMV71Q19B - SAMV71Q20B - SAMV71Q21B

fastpeakfindA simple and fast 2D peak finder. The aim was to be faster than more sophisticated techniques yet good enough to find peaks in noisy data. The code analyzes noisy 2D images and find peaks using robust local maxima finder (1 pixel resolution) or by weighted centroids (sub-pixel resolution). The code is designed to be as fast as possible, so I kept it pretty basic. It best works when using uint16 \ uint8 images, and assumes that peaks are relatively sparse.The code requires Matlab's Image Processing Toolbox, and can be used inside parfor for faster processing times.please cite As:Natan, Adi. "Fast 2D peak finder." MATLAB Central File Exchange. Available at https://www.mathworks.com/matlabcentral/fileexchange/37388-fast-2d-peak-finder (2021)How the code works:In theory, each peak is a smooth point spread function (SPF), like a Gaussian of some size, etc. In reality, there is always noise, such as"salt and pepper" noise, which typically has a 1-pixel variation. Because the peak's PSF is assumed to be larger than 1 pixel, the "true"local maximum of that PSF can be obtained if we can get rid of these single-pixel noise variations. There comes medfilt2, which is a 2D medianfilter that gets rid of "salt and pepper" noise. Next we "smooth" the image using conv2, so that with high probability there will be only onepixel in each peak that will correspond to the "true" PSF local maximum. The weighted centroid approach uses the same image processing, with thedifference that it just calculated the weighted centroid of each connected object that was obtained following the image processing. Whilethis gives sub-pixel resolution, it can overlook peaks that are very close to each other, and runs slightly slower. Read more about how to treat thesecases in the relevant code comments.Inputs:d - The 2D data raw image - assumes a Double\Single-precision floating-point, uint8 or unit16 array. Please note that the codecasts the raw image to uint16 if needed. If the image dynamic range is between 0 and 1, I multiplied to fit uint16. This might not beoptimal for generic use, so modify according to your needs.thres - A number between 0 and max(raw_image(:)) to remove backgroundfilt - A filter matrix used to smooth the image. The filter size should correspond the characteristic size of the peaksedg - A number>1 for skipping the first few and the last few 'edge' pixelsres - A handle that switches between two peak finding methods: 1 - the local maxima method (default). 2 - the weighted centroid sub-pixel resolution method.Note that the latter method takes ~20% more time on average.fid - In case the user would like to save the peak positions to a file, the code assumes a "fid = fopen([filename], 'w+');" line in thescript that uses this function.Optional Outputs:cent - a 1xN vector of coordinates of peaks (x1,y1,x2,y2,...[cent cm] - in addition to cent, cm is a binary matrix of size(d) with 1's for peak positions. (not supported in the weighted centroid sub-pixel resolution method)Example:p=FastPeakFind(image);imagesc(image); hold onplot(p(1:2:end),p(2:2:end),'r+')

Fitness-Distance Balance (FDB): A New Selection Method for Meta-Heuristic Search Algorithms

Explainable Artificial Intelligence (XAI) is a field that aims to make AI models transparent and understandable. This is particularly important in areas like agriculture, healthcare, ecology and environmental science, where AI decisions can have a significant impact on safety and ethics. By explaining how complex models, such as deep learning networks, make decisions, XAI helps build user trust and ensures that model decisions align with human expectations.In image classification, XAI visualizations are extremely valuable. These tools, such as saliency maps and heatmaps, show which parts of an image the model focuses on to make its decision. For example, when identifying bird species, the model might highlight features such as feathers or beaks. This ensures that decisions are based on relevant features rather than irrelevant details.Comparing XAI visualizations from different models provides insights beyond just accuracy. While accuracy tells us how often a model gets predictions right, visualizations reveal why the model makes these predictions. Understanding the decision-making process is critical for selecting the best model and ensuring it aligns with human reasoning. Examining these visualizations can identify models that consistently focus on important features, making them more reliable and less prone to errors or bias.Qualitative analysis of XAI visualizations has limitations, including subjective interpretation, inconsistency, and difficulty in scaling up. Quantitative analysis provides a more objective and systematic approach. Quantitative analysis can be automated, making it possible to evaluate large datasets and complex models. It provides a transparent and reproducible evaluation of XAI visualizations, enabling the development of more effective methods for explaining complex models. This leads to more transparent and trustworthy AI systems, essential for real-world applications. Quantitative analysis is crucial for evaluating XAI visualizations.Our study introduces a quantitative approach to evaluating XAI models. This involves a three-step process: first, measuring the accuracy of the model; second, assessing whether the model correctly identifies key features influencing its decisions; and finally, combining these findings to evaluate the model's overall performance and explanation quality.Our study is the first to use a fully quantitative approach for evaluating XAI explanations. This method enhances trust and understanding of models, ensuring they are not only accurate but also understandable and aligned with human reasoning. This clarity is vital for successful real-world application, allowing AI systems to be more widely accepted and effectively used.PurposeWe developed MATLAB functions to provide a quantitative evaluation framework for XAI methods, particularly focusing on the assessment of classification performance of deep learning models and feature selection accuracy. These functions enable researchers to quantitatively evaluate visual explanations generated by XAI technique LIME, without requiring extensive coding expertise. It provides an intuitive interface for performing robust performance evaluations, ensuring consistency, scalability, and reproducibility of results. The toolbox includes customizable evaluation metrics, automated analysis features, and comprehensive tutorials to guide users in using its full capabilities for reliable XAI assessments.FeaturesHere are the features provided by each function:1. Train and save the pre-trained model: Train the model using specified settings, evaluate its performance using various performance evaluation metrics, and save the trained model for future use (Train_pre-trained_model.m).2. LIME Feature Extraction: Extracts and visualizes the most significant features in images, generating both masked and binary masked images that highlight the top n significant features (lime_extract_features.m).3. Quantitative Analysis: Calculates various quantitative metrics between a binarized image and its corresponding ground truth image (quantitative_evaluation_metrics.m).4. Overfitting Ratio Calculation: calculates the overfitting ratio between a target ROI image and an identified ROI image (overfitting_ratio.m)Instructions for Training and Evaluating a Deep Learning ModelStep 1: Train and Save the ModelPrepare the Data:Load images from your dataset (e.g., a collection of plant disease images).Split the data into training and validation sets based on your desired ratio (e.g., 70% training, 30% validation).Design the Model:Use a pretrained model as a starting point (e.g., VGG16, ResNet).Modify the model to fit your specific task by adding or adjusting layers as needed for your classification categories (e.g., adding layers to classify different plant diseases).Enhance Model Robustness:Apply data augmentation techniques, such as image flipping or translating (e.g., random horizontal flips, rotation), to increase dataset size and improve model generalization.Train the Model:Utilize an appropriate optimizer and configure training settings such as batch size, learning rate, and number of epochs (e.g., Adam optimizer, batch size of 32, learning rate of 0.001, and 25 epochs).Monitor validation performance to ensure the model is learning effectively.Save the Model:After training, save your trained model for future use in the desired format (e.g., saving as a .mat file).Evaluate Performance:Compute various performance metrics like accuracy, precision, and recall to understand model effectiveness (e.g., accuracy 92%, precision 0.90, recall 0.88).Step 2: Extract and Visualize Features with an Interpretation ToolLoad the Trained Model:Access the saved model file (e.g., load the .mat file).Apply an Interpretation Tool:Use a XAI visualization technique LIME to identify key features influencing the model’s decisions.Visualize Features:Highlight important features in the input data (e.g., highlight key parts of the images showing disease symptoms).Convert visualizations to a format that emphasizes significance for better understanding (e.g., create a binary mask to show highlighted features).Assess Model Behavior:Analyze identified features to gain insights into how the model makes predictions (e.g., understanding which features contribute to identifying a specific disease).Step 3: Perform Quantitative AnalysisCompare Features with Ground Truth:Use binary or masked images to compare identified features to actual reference data (e.g., compare LIME-generated features to annotated disease segments).Employ Quantitative Metrics:Utilize metrics like overlap coefficients, precision, and recall to assess feature matching (e.g., Intersection over Union of 0.85).Evaluate Model Performance:Analyze how well the model’s selected features correspond to ground truth to gauge accuracy (e.g., high correspondence indicates accurate feature recognition).Step 4: Calculate Overfitting RatioDefine Overfitting:Recognize potential model limitations, such as reliance on irrelevant features, despite achieving high accuracy on both training and test sets (e.g., training accuracy of 98% and testing accuracy of 95%, but the model focuses on background elements instead of relevant object features).Quantify Overfitting:Calculate the ratio comparing irrelevant focus areas to the actual target areas in your data (e.g., measure how much the model focuses on non-relevant parts of the plant images).Use this measure to understand the extent of the model's overfitting (e.g., a high overfitting ratio could indicate over-reliance on non-diseased image areas).Screenshots:LIME Feature Extraction:lime_extract_features.m function can be used to extract and visualize the most significant features in images, generating both masked and binary masked images that highlight the top n significant featuresScreenshot of the UI before selecting the options in the LIME explanations panel:Screenshot of the UI after selecting the options and submission in the LIME explanations panel:Quantitative Analysis:quantitative_evaluation_metrics.m function is used to calculate various quantitative metrics between a binarized image and its corresponding ground truth image.Screenshot of the UI before selecting the images in the quantitative analysis panel:Screenshot of the UI displaying the results after selecting the images in the quantitative analysis panel:Overfitting Ratio Calculation:overfitting_ratio.m function is used to calculate the overfitting ratio between a target ROI image and an identified ROI imageScreenshot of the UI before selecting the images for the calculation of the overfitting ratio panel:Screenshot of the UI displaying the results after selecting the images for the calculation of the overfitting ratio panel:

3D Rendering Toolbox: Color images and depth maps from 3D meshesImplementation of the computer graphics pipeline for triangulated meshes, in addition to a number of camera plotting functions. Handles both perspective and orthographic projection.A notable use case is to simulate RGB or Kinect (depth) camera images for computer vision applications.The codebase is compact, extensively documented, and uses only MATLAB built-in functions.Functions and ClassesNameDescriptionworld2imageProject world points, edges, and faces into image space.rasterizeRasterize projected mesh to form an image composed of pixels.raycastCompute rays from the camera's optical center to its pixels.clipClip faces, edges, vertices in the clip space of the graphics pipeline. Used by world2image.edgefcnTest whether 2D points are within triangular faces. Used by rasterize.CameraObject for plotting a camera and storing its properties.PropertiesprojectionMatrix : 4-by-4 projection matrix.imageSize : Camera resolution, [width height].t : Camera translation, [x y z].R : 3-by-3 camera rotation matrix.plotHandles : Graphics handles.MethodsConstructor : Set and validate Camera properties.plotcamera : Plot a mesh representing the camera.plotframe : Plot the camera's Cartesian coordinate system.plotfov : Plot a mesh representing the camera's field-of-view.setview : Set the MATLAB axes' view to match the Camera object.ProjectionMatrixBuild and inspect a perspective or orthographic camera projection matrix.Value : 4-by-4 projection matrix.MethodsConstructor : Build the projection matrix, either with the camera's field-of-view and aspect ratio, by defining the frustum coordinates directly, or by converting from a camera intrinsic matrix.decompose : Extract properties of the camera's view frustum.For full documentation, please see the respective MATLAB file, or use the doc command, e.g., doc world2image.ExamplePlease see example.m, which outputs the figure above.NotesThe toolbox was designed to have only minimal internal dependencies. Therefore Camera, clip, edgefcn, etc. can largely be used independently of the rest of the toolbox. The toolbox's individual functions and classes could be useful for different rendering pipelines, for example, to rasterize 2D vector graphics, or beyond the computer graphics pipeline, for example, to simply plot the location of a camera within a scene.As the renderer runs on the CPU and uses only MATLAB code, its speed is limited. On a standard laptop, for a scene with 8000 faces and at a resolution of 300x300, I get around 12 fps. Nevertheless, for applications which don't need a high speed, having everything within MATLAB is handy.Does not currently implement interpolated face colors (from colored vertices) or lighting.If the user has a camera intrinsic matrix, rather than a projection matrix, e.g., when simulating a camera calibrated in MATLAB, the ProjectionMatrix class can be used to convert this to the necessary format.CompatibilityCreated in 2022b. All files are compatible with MATLAB release 2022a and later, but see the documentation of individual files for their specific compatability. Compatible with all platforms. No external dependencies.License and CitationPublished under MIT License (see LICENSE.txt).Please cite George Abrahams (https://github.com/WD40andTape/MatlabRenderer, https://www.linkedin.com/in/georgeabrahams).

% This code package contains a helper function generateConfigLDPC() which generates LDPC config struct variables in % the format supported by ldpcEncode() and ldpcDecode() functions of% MATLAB (supported from 2021b)https://se.mathworks.com/matlabcentral/fileexchange/103360-matlab-ldpc-config% This function is intended for those who wants to use LDPC coding function without having to worry about% parity check matrices and details. Currently LDPC codes from WLAN standard are supported in this function.% Author: Zakir Hussain Shaik% Contact: zakir.b2a@gmail.com% This function is version 1.0% License: This code is licensed under the GPLv2 license.% This function outputs two outputs% First output : cfgLDPCEnc% Second output: decodercfg % These variables can be directly used with MATLAB functions ldpcEncode() and ldpcDecode() as per their corresponding syntaxes% This function accepts minimum one and maximum four inputs where three inputs are% optional.% First input : rate -- code rate (Mandtory Input)% Second input : codeword length (If given must be second input)% Third input : 'standard'-- 'wlan' (this input is name-value type)% Fourth input : 'decoderAlgo' -- decoding algorithm (this input is name-value type)% Second, third and fourth inputs are optional. However, if codeword length% is provided as input it should be in the second argument only.% Third and fourth arguments are of name-value format and can be given in% any order% Default values: standard is 'wlan', code word length is 648, decoder algorithm is 'bp'% Supported standard: 'wlan'% Supported rates: 1/2, 2/3, 3/4, and 5/6% Supported codeword lengths: 648, 1296, and 1944% decoderAlgo takes four algorithms as stated in MATLAB site: {'bp','layered-bp','norm-min-sum','offset-min-sum'}% This file is accompanied with example scripts% Following syntaxes are supported:% Example 1:rate = 1/2;[cfgLDPCEnc,decodercfg] = generateConfigLDPC(rate,'decoderAlgo','bp');% Example 2:rate = 1/2;n = 1944;[cfgLDPCEnc,decodercfg] = generateConfigLDPC(rate,n,'decoderAlgo','norm-min-sum');% Example 3:rate = 1/2;n = 1944;[cfgLDPCEnc,decodercfg] = generateConfigLDPC(rate,n,'decoderAlgo','norm-min-sum','standard','wlan');% Example 4rate = 3/4; % code raten = 1296; % Codeword lengthdecodAlgo = 'offset-min-sum'; % LDPC decoding algorithm[cfgLDPCEnc,decodercfg] = generateConfigLDPC(rate,n,'decoderAlgo',decodAlgo,'standard','wlan');

The package contains:1. SSDRB.m - The source code of the Semi-Supervised Deep Rule-Based Classifier;2. ASSDRB.m - The source code of the Active Semi-Supervised Deep Rule-Based Classifier;3. Semi-Supervised Deep Rule-Based Classifier.pdf - The instruction of the source code;Reference:X. Gu and P. Angelov, “Semi-supervised deep rule-based approach for image classification,” Applied Soft Computing, vol.68, pp. 53-68, 2018.This package is dependent on the Deep rule-based classifier, which can be found in https://uk.mathworks.com/matlabcentral/fileexchange/67772-deep-rule-based-classifierFor any queries about the codes, please contact Prof. Plamen P. Angelov (p.angelov@lancaster.ac.uk) and Dr. Xiaowei Gu (x.gu3@lancaster.ac.uk)Programmed by Xiaowei Gu

PurposeDynaProg is a MATLAB toolbox to solve a finite horizon multi-stage deterministic decision problem, which is a problem where a decision must be made at each stage for a system that evolves through a finite number of stages, minimizing the total cost incurred.Installing DynaProgThe most straightforward way to install DynaProg is to directly install it from MATLAB's Add-on explorer or from the File Exchange. Doing this also installs the documentation in MATLAB's Help Browser.ContactFor all questions or suggestions, feel free to contact me at federico.miretti@polito.it.

Skeleton3D: Parallel medial axis thinning of a 3D binary volumeThis code calculates the 3D medial axis skeleton of an arbitrary 3d binary volume. It is an optimized MATLAB implementation of the homotopic thinning algorithm described in [1]. We developed it to quantify the network of cell processes in bone [2], but it should work on images of any tubular or filamentous structures. An example volume (testvol.mat) is included, along with an example script (Test_Skeleton3D.m). Any comments, corrections or suggestions are highly welcome.Usage:skel = Skeleton3D(bin)where "bin" is a 3D binary image, and "skel" the resulting image containing only the skeleton voxels, orskel = Skeleton3D(bin,mask)to mask all foreground voxels in 'mask' from skeletonization, e.g. to preserve certain structures in a image volume.For additional cleanup, e.g. pruning of short branches, please use my Skel2Graph3D package on MATLAB File Exchange.This code is inspired by the ITK implementation by Hanno Homann [3] and the Fiji/ImageJ plugin by Ignacio Arganda-Carreras [4]. If you include this in your own work, please cite our original publicaton [2].Philip Kollmannsberger 09/2013philipk@gmx.netReferences:[1] Ta-Chih Lee, Rangasami L. Kashyap and Chong-Nam Chu"Building skeleton models via 3-D medial surface/axis thinning algorithms."Computer Vision, Graphics, and Image Processing, 56(6):462–478, 1994.[2] Kollmannsberger, Kerschnitzki et al.,"The small world of osteocytes: connectomics of the lacuno-canalicular network in bone."New Journal of Physics 19:073019, 2017.[3] http://hdl.handle.net/1926/1292[4] http://fiji.sc/wiki/index.php/Skeletonize3D

NOTE: The official MIRtoolbox webpage was until November 2023 hosted at the University of Jyväskylä. Since November 14th, 2023, the GitHub repository has become public.mirtoolboxMIRtoolbox is a Matlab toolbox dedicated to the extraction of musical features from audio files, including routines for statistical analysis, segmentation and clustering. MIRtoolbox integrates a user-friendly syntax that enables to easily combine low and high-level operators into complex flowcharts. The modular design of MIRtoolbox is guided by a philosophy of expertise capitalization: techniques developed for certain domains of music analysis are turned into general operators that could be used for different analytical purposes.Each feature extraction method can accept as argument an audio file, or any preliminary result from intermediary stages of the chain of operations. Also the same syntax can be used for analyses of single audio files, batches of files, series of audio segments, multi-channel signals, etc. For that purpose, the data and methods of the toolbox are organised in an object-oriented architecture.Memory management mechanisms allow the analysis of large-scale corpus, through the integration of automated chunk decomposition mechanisms and of distinctive processes for flowchart design and evaluation. A set of meta-functions have been designed that enable the integration of user-defined algorithms with the help of simple templates.authorsOlivier Lartillot, Petri Toiviainen, Pasi Saari and Tuomas Eerola were members of the Finnish Centre of Excellence in Interdisciplinary Music Research, University of Jyväskylä, Finland.

The EPANET-Matlab Toolkit is an open-source software, originally developed by the KIOS Research Center for Intelligent Systems and Networks of the University of Cyprus which operates within the Matlab environment, for providing a programming interface for the latest version of EPANET, a hydraulic and quality modeling software created by the US EPA, with Matlab, a high-level technical computing software. The goal of the EPANET Matlab Toolkit is to serve as a common programming framework for research and development in the growing field of smart water networks. The EPANET-Matlab Toolkit features easy to use commands/wrappers for viewing, modifying, simulating and plotting results produced by the EPANET libraries. For support, please use the OWA community forum : http://community.wateranalytics.org/

The present code is a Matlab function that provides a Short-Time Fourier Transform (STFT) of a given signal x[n]. The function is an alternative of the Matlab command “spectrogram”. The output of the function is:1) a matrix with the complex STFT coefficients with time across the columns and frequency across the rows;2) a frequency vector;3) a time vector.An example is given in order to clarify the usage of the function. For convenience, the input and output arguments are given in the beginning of the function.The code is based on the theory described in:[1] H. Zhivomirov. On the Development of STFT-analysis and ISTFT-synthesis Routines and their Practical Implementation. TEM Journal, ISSN: 2217-8309, DOI: 10.18421/TEM81-07, Vol. 8, No. 1, pp. 56-64, Feb. 2019. (http://www.temjournal.com/content/81/TEMJournalFebruary2019_56_64.pdf)

Previously titled "Another Particle Swarm Toolbox"IntroductionParticle swarm optimization (PSO) is a derivative-free global optimum solver. It is inspired by the surprisingly organized behaviour of large groups of simple animals, such as flocks of birds, schools of fish, or swarms of locusts. The individual creatures, or "particles", in this algorithm are primitive, knowing only four simple things: 1 & 2) their own current location in the search space and fitness value, 3) their previous personal best location, and 4) the overall best location found by all the particles in the "swarm". There are no gradients or Hessians to calculate. Each particle continually adjusts its speed and trajectory in the search space based on this information, moving closer towards the global optimum with each iteration. As seen in nature, this computational swarm displays a remarkable level of coherence and coordination despite the simplicity of its individual particles.Ease of UseIf you are already using the Genetic Algorithm (GA) included with MATLAB's Global Optimization Toolbox, then this PSO toolbox will save you a great deal of time. It can be called from the MATLAB command line using the same syntax as the GA, with some additional options specific to PSO. This will allow a high degree of code re-usability between the PSO toolbox and the GA toolbox. Certain GA-specific parameters such as cross-over and mutation functions will obviously not be applicable to the PSO algorithm. However, many of the commonly used options for the Genetic Algorithm Toolbox may be used interchangeably with PSO since they are both iterative population-based solvers. See >> help pso (from the ./psopt directory) for more details.Features * Support for distributed computing using MATLAB's parallel computing toolbox. * Full support for bounded, linear, and nonlinear constraints. * Modular and customizable. * Binary optimization. See PSOBINARY function for details. * Vectorized fitness functions. * Solver parameters controlled using 'options' structure similar to existing MATLAB optimization solvers. * User-defined custom plots may be written using same template as GA plotting functions. * Another optimization solver may be called as a "hybrid function" to refine PSO results.A demo function is included, with a small library of test functions. To run the demo, from the psopt directory, call >> psodemo with no inputs or outputs.Bug reports and feature requests are welcome.Special thanks to the following people for contributing code and bug fixes: * Ben Xin Kang of the University of Hong Kong * Christian Hansen of the University of Hannover * Erik Schreurs from the MATLAB Central community * J. Oliver of Brigham Young University * Michael Johnston of the IRIS toolbox * Ziqiang (Kevin) ChenBibliography * J Kennedy, RC Eberhart, YH Shi. Swarm Intelligence. Academic Press, 2001. * Particle Swarm Optimization. http://en.wikipedia.org/wiki/Particle_swarm_optimization * RE Perez, K Behdinan. Particle swarm approach for structural design optimization. Computers and Structures 85 (2007) 1579–1588. * SM Mikki, AA Kishk. Particle Swarm Optimization: A Physics-Based Approach. Morgan & Claypool, 2008.Addendum ANonlinear inequality constraints in the form c(x) ≤ 0 and nonlinear equality constraints of the form ceq(x) = 0 have now been fully implemented. The 'penalize' constraint boundary enforcement method is now default. It has been redesigned and tested extensively, and should work with all types of constraints.See the following document for the proper syntax for defining nonlinear constraint functions: http://www.mathworks.com/help/optim/ug/writing-constraints.html#brhkghv-16.To see a demonstration of nonlinear inequality constraints using a quadrifolium overlaid on Rosenbrock's function, run PSODEMO and choose 'nonlinearconstrdemo' as the test function.Addendum BSee the following guide in the GA toolbox documentation to get started on using the parallel computing toolbox.http://www.mathworks.com/help/gads/genetic-algorithm-options.html#f17234Addendum CIf you are just starting out and hoping to learn to use this toolbox for work or school, here are some essential readings: * MATLAB's Optimization Toolbox: http://www.mathworks.com/help/optim/index.html * MATLAB's Global Optimization Toolbox: http://www.mathworks.com/help/gads/index.html * MATLAB's Genetic Algorithm: http://www.mathworks.com/help/gads/genetic-algorithm.htmlAddendum DThere is now a particle swarm optimizer included with the Global Optimization Toolbox. If you have a recent version of the Global Optimization Toolbox installed, you will need to set the path appropriately in your code to use this toolbox.

The present submission is a set of four Matlab functions that provides a generation of:1) Pink (flicker) noise - power spectral density slope -3 dB/oct., -10 dB/dec.2) Red (Brownian) noise - power spectral density slope -6 dB/oct., -20 dB/dec.3) Blue noise - power spectral density slope +3 dB/oct., +10 dB/dec.4) Violet (purple) noise - power spectral density slope +6 dB/oct., +20 dB/dec.A few examples are given to clarify the usage of the functions. For convenience, the input and output arguments are given in the beginning of each function. The generated noise signal has a unity standard deviation and zero mean value.The code is based on the theory described in:[1] H. Zhivomirov. A Method for Colored Noise Generation. Romanian Journal of Acoustics and Vibration, ISSN: 1584-7284, Vol. XV, No. 1, pp. 14-19, 2018. (http://rjav.sra.ro/index.php/rjav/article/view/40/29)

## BEAST: A Bayesian Ensemble Algorithm for Change-Point Detection and Time Series Decomposition**BEAST (Bayesian Estimator of Abrupt change, Seasonality, and Trend) is a fast, generic Bayesian model averaging algorithm to decompose time series or 1D sequential data into individual components, such as abrupt changes, trends, and periodic/seasonal variations, as described in [Zhao et al. (2019)](https://go.osu.edu/beast2019). BEAST is useful for *changepoint detection (e.g., breakpoints, structural breaks,joinpoints, regime shifts, or anomalies), trend analysis, time series decomposition (e.g., trend vs seasonality), time series segmentation, and interrupted time series analysis*. See a list of selected studies using BEAST .****Quick Installation**> BEAST was impemented in C/C++ but accessible from R, Python, Matlab, and Octave. Install it as follows:* [Python](#python): **`pip install Rbeast`** * [Matlab](#matlab): **`eval(webread('http://b.link/rbeast',weboptions('cert','')))`*** [Octave](#octave): **`eval(webread('http://b.link/rbeast'))`** * [R lang](#r): **`install.packages("Rbeast")`** **Quick Usage**> One-liner code for Python, Matlab and R:```# Python exampleimport Rbeast as rb; (Nile, Year)=rb.load_example('nile'); o=rb.beast(Nile,season='none'); rb.plot(o)# Matlab/Octave exampleload('Nile'); o = beast(Nile, 'season','none'); plotbeast(o)# R examplelibrary(Rbeast); data(Nile); o = beast(Nile); plot(o)```## Installation for R > **Rbeast in CRAN-TASK-VIEW**: [Time Series Analysis] [Bayesian inference] [Environmetrics] An R package **`Rbeast`** has been deposited at [CRAN](https://CRAN.R-project.org/package=Rbeast). ( On CRAN, there is another Bayesian time-series package named "beast", which has nothing to do with the BEAST algorithim. Our package is `Rbeast`. Also, `Rbeast` has nothing to do with the famous "Bayesian evolutionary analysis by sampling trees" aglorithm.) Install `Rbeast` in R using```Rinstall.packages("Rbeast") ``` #### Run and test Rbeast in R The main functions in Rbeast are `beast(Y, ...)`, `beast.irreg(Y, ...)`, and `beast123(Y, metadata, prior, mcmc, extra)`. The code snippet below provides a starting point for the basic usage. ```Rlibrary(Rbeast)data(Nile) # annual streamflow of the Nile River out = beast(Nile, season='none') # 'none': trend-only data without seasonlaity print(out) plot(out)?Rbeast # See more details about the usage of `beast` tetris() # if you dare to waste a few moments of your life minesweeper() # if you dare to waste a few more moments of your life ``` ## Installation for Matlab [![View Rbeast on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://www.mathworks.com/matlabcentral/fileexchange/72515-rbeast) Install the Matlab version of **BEAST** automatically to a local folder of your choice by running ```Matlab beastPath = 'C:\beast\' eval( webread('http://b.link/rbeast') ) %%%%%%%%%%%%%%%%%%%%%%%%%%% Note on Automatic Installtion %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 1. Write permission needed for your chosen path; the variable name must be 'beastPath'. % % 2. If webread has a certificate error, run the following line instead: % eval( webread( 'http://b.link/rbeast', weboptions('cert','') ) ) % % 3. If the automatic installation fails, please manually download all the files (see blow) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ```> The above will download all the files in the [Rbeast\Matlab folder at Github](https://github.com/zhaokg/Rbeast) to the chosen folder: if `beastPath` is missing, a default temporary folder (e.g., `C:\Users\$user_name$\AppData\Local\Temp\Rbeast for Windows 10`) will be used. If the automatic script fails, please download the Matlab files from [Github](https://github.com/zhaokg/Rbeast) manually. These files include a Matlab mex library compiled from the C soure code (e.g., `Rbeast.mexw64` for Windows, `Rbeast.mexa64` for Linux, `Rbeast.mexmaci64` for MacOS) and some Matlab wrapper functions (e.g.,`beast.m`, and `beast123.m`) similar to the R interface, as well as some test datasets (e.g., Nile.mat, and co2.mat). > We generated the Matlab mex binary library on our own machines with Win10, Ubuntu 22.04, and macOS High Sierra. If they fail on your machine, the mex library can be compiled from the C source code files under `Rbeast\Source`. If needed, we are happy to work with you to compile for your specific OS or machines. Additional information on compilations from the C source is also given below.#### Run and test Rbeast in MatlabThe Matlab API is similar to those of R. Below is a quick example: ```Matlab help beast help beast123 load('Nile.mat') % annual streamflow of the Nile River startin from year 1871 out = beast(Nile, 'season', 'none','start', 1871) % trend-only data without seasonality printbeast(out) plotbeast(out) ```## Installation for Octave The same as for Matlab. Now, only Windows platforms are supported. If needed for other platforms (e.g., Octave in Linux and Mac), please contact the author at zhao.1423@osu.edu for support.----## Installation for Python A package **`Rbeast`** has been deposited at PyPI: https://pypi.org/project/Rbeast/. Run the command below in a console to install: ```python pip install Rbeast ```> Binary wheel files were built on Windows, MacOS, and Linux for Python version 3.7 to 3.11 (either x86_64 or arm64 CPU). If the installation fails, please install from the source to build the package using `pip install Rbeast --no-binary :none:`, which requies a C/C++ compliler (e.g., requiring gcc on Linux or xcode on Mac). If needed, contact Kaiguang Zhao (zhao.1423@osu.edu) to help build the package for your OS platform and Python version.#### Run and test Rbeast in Python `Nile` is annual streamflow of the River Nile, starting from Year 1871. As annual observations, it has no periodic component (i.e., `season='none'`). ```pythonimport Rbeast as rb # Import the Rbeast package as `rb`nile, year = rb.load_example('nile') # a sample time serieso = rb.beast( nile, start=1871, season='none')rb.plot(o)rb.print(o)o # see a list of output fields in the output variable o```The second example `googletrend` is a monthly time series of the Google Search popularity of the word ***beach*** over the US. This monthly time series is reguarly-spaced (i.e., deltat=`1 month` =`1/12 year`); it has a cyclyic component with a period of 1 year. That is, the number of data points per period is `period` / `deltat` = 1 year / 1 month = 1/(1/12) = 12. ```pythonbeach, year = rb.load_example('googletrend')o = rb.beast(beach, start= 2004.0, deltat=1/12, period = 1.0) # the time unit is unknown or arbitraryo = rb.beast(beach, start= 2004.0, deltat=1/12, period ='1.0 year') # the time unit is fractional yearo = rb.beast(beach, start= 2004.0, deltat='1 month', period =1.0) # the time unit is fractional yearrb.plot(o)rb.print(o) ```## Installation for Julia/IDL (yet to come)Wrappers in Julia and IDL are being developed: We welcome contributions and help from interested developers. If interested, contact Kaiguang Zhao at zhao.1423@osu.edu.## Description of BEASTInterpretation of time series data is affected by model choices. Different models can give different or even contradicting estimates of patterns, trends, and mechanisms for the same data–a limitation alleviated by the Bayesian estimator of abrupt change,seasonality, and trend (BEAST) of this package. BEAST seeks to improve time series decomposition by forgoing the "single-best-model" concept and embracing all competing models into the inference via a Bayesian model averaging scheme. It is a flexible tool to uncover abrupt changes (i.e., change-points), cyclic variations (e.g., seasonality), and nonlinear trends in time-series observations. BEAST not just tells when changes occur but also quantifies how likely the detected changes are true. It detects not just piecewise linear trends but also arbitrary nonlinear trends. BEAST is applicable to real-valued time series data of all kinds, be it for remote sensing, finance, public health, economics, climate sciences, ecology, and hydrology. Example applications include its use to identify regime shifts in ecological data, map forest disturbance and land degradation from satellite imagery, detect market trends in economic data, pinpoint anomaly and extreme events in climate data, and unravel system dynamics in biological data. Details on BEAST are reported in [Zhao et al. (2019)](https://go.osu.edu/beast2019). The paper is available at https://go.osu.edu/beast2019.## Note on computationAs a Bayesian algorithm, BEAST is fast and is possibly among the fastest implementations of Bayesian time-series analysis algorithms of the same nature. (But it is still slower, compared to nonBayesian methods.) For applications dealing with a few to thousands of time series, the computation won't be an practical concern. But for remote sensing/geospatial applications that may easily involve millions or billions of time series, computation will be a big challenge for Desktop computer users. We suggest first testing BEAST on a single time series or small image chips first to determine whether BEAST is appropriate for your applications and, if yes, estimate how long it may take to process the whole image. In any case, for those users handling stacked time-series images, do not use `beast` or `beast.irreg`. Use **`beast123`** instead, which can handle 3D data cubes and allow parallel computing. We also welcome consultation with Kaiguang Zhao (zhao.1423@osu.edu) to give specific suggestions if you see some value of BEAST for your applications.## Reference* Zhao, K., Wulder, M. A., Hu, T., Bright, R., Wu, Q., Qin, H., Li, Y., Toman, E., Mallick B., Zhang, X., & Brown, M. (2019). [Detecting change-point, trend, and seasonality in satellite time series data to track abrupt changes and nonlinear dynamics: A Bayesian ensemble algorithm.](https://go.osu.edu/beast2019) Remote Sensing of Environment, 232, 111181. (the BEAST paper) * Zhao, K., Valle, D., Popescu, S., Zhang, X. and Mallick, B., 2013. [Hyperspectral remote sensing of plant biochemistry using Bayesian model averaging with variable and band selection](https://drive.google.com/file/d/1WGOAbH_h5f8ptQvsJsZqwlykO2JevsgT/view?usp=sharing). Remote Sensing of Environment, 132, pp.102-119. (the mcmc sampler used for BEAST)* Hu, T., Toman, E.M., Chen, G., Shao, G., Zhou, Y., Li, Y., Zhao, K. and Feng, Y., 2021. [Mapping fine-scale human disturbances in a working landscape with Landsat time series on Google Earth Engine](https://pages.charlotte.edu/gang-chen/wp-content/uploads/sites/184/2021/05/Hu_2021_BEAST-HF-s.pdf). ISPRS Journal of Photogrammetry and Remote Sensing, 176, pp.250-261. (an application paper)## Compilation from C source code (for developers and experts only) Though not needed but if preferred, the code can be compiled for your specific machines. Check the [Rbeast\Source](https://github.com/zhaokg/Rbeast/tree/master/Source) folder at GitHub for details. ## Reporting Bugs or getting helpBEAST is distributed as is and without warranty of suitability for application. The one distributed above is still a beta version, with potential room for further improvement. If you encounter flaws with the software (i.e. bugs) please report the issue. Providing a detailed description of the conditions under which the bug occurred will help to identify the bug, you can directly email its maintainer Dr. Kaiguang Zhao at zhao.1423@osu.edu. Alternatively, Use the [Issues tracker](https://github.com/zhaokg/Rbeast/issues) on GitHub to report issues with the software and to request feature enhancements. ## Acknowledgement:BEAST is developed by Yang Li, Tongxi Hu, Xuesong Zhang, and Kaiguang Zhao. The development of BEAST received supported through Microsoft Azure for Research (CRM0518513) and a USGS 104B grant and a Harmful Algal Bloom Research Initiative grant from the Ohio Department of Higher Education. The contribution of Xuesong Zhang was supported through USDA-ARS. Selected publications using BEAST/Rbeast Despite being published originally for ecological and enviornmental applications, BEAST is developed as a generic tool applicable to time series or time-series-like data arising from all disciplines. BEAST is not a heuristic algorithm but a rigorous statistical model. Below is a list of selected peer-reviewed pulications that used BEAST for statistical data analysis.| Discipline | Publication Title || --- | --- || Remote Sensing| *Li, J., Li, Z., Wu, H., and You, N., 2022. [Trend, seasonality, and abrupt change detection method for land surface temperature time-series analysis: Evaluation and improvement](https://www.sciencedirect.com/science/article/pii/S0034425722003285). Remote Sensing of Environment, 10.1016/j.rse.2022.113222*||Paleoclimatology|*Anastasia Zhuravleva et al., 2023. Caribbean salinity anomalies contributed to variable North Atlantic circulation and climate during the Common Era. Science Advances, DOI:10.1126/sciadv.adg2639*|| Population Ecology | *Henderson, P. A. (2021). [Southwood's Ecological Methods (5th edition)](https://www.google.com/books/edition/Southwood_s_Ecological_Methods/snEhEAAAQBAJ?hl=en&gbpv=1&pg=PA473&printsec=frontcover). Oxford University Press., page 475-476*||Cardiology|*Ozier, D., Rafiq, T., de Souza, R. and Singh, S.M., 2023. [Use of Sacubitril/Valsartan Prior to Primary Prevention Implantable Cardioverter Defibrillator Implantation](https://doi.org/10.1016/j.cjco.2022.10.005). CJC Open.*||Spatial Ecology|*Laurin, G.V., Cotrina-Sanchez, A., Belelli-Marchesini, L., Tomelleri, E., Battipaglia, G., Cocozza, C., Niccoli, F., Kabala, J.P., Gianelle, D., Vescovo, L. and Da Ros, L., 2024. Comparing ground below-canopy and satellite spectral data for an improved and integrated forest phenology monitoring system. Ecological Indicators, 158, p.111328.*||Anthropocene Science|*Thomas, E.R., Vladimirova, D.O., Tetzner, D.R., Emanuelsson, D.B., Humby, J., Turner, S.D., Rose, N.L., Roberts, S.L., Gaca, P. and Cundy, A.B., 2023. The Palmer ice core as a candidate Global boundary Stratotype Section and Point for the Anthropocene series. The Anthropocene Review, p.20530196231155191.*||Biomedical Engineering|*Saghbiny, E., Da Silva, J., Leblanc, L., Bobbio, C., Morel, G.G., Vialle, R. and Tamadazte, B., 2023, September. Breach detection in spine surgery based on cutting torque with ex-vivo experimental validation. In Conference on New Technologies for Computer and Robot Assisted Surgery.*||Political Science|*Reuning, K., Whitesell, A. and Hannah, A.L., 2022. [Facebook algorithm changes may have amplified local republican parties](https://doi.org/10.1177/20531680221103809). Research & Politics, 9(2), p.20531680221103809.*||Food Science|*Zaytsev, V., Tutukina, M.N., Chetyrkina, M.R., Shelyakin, P.V., Ovchinnikov, G., Satybaldina, D., Kondrashov, V.A., Bandurist, M.S., Seilov, S., Gorin, D.A. and Fedorov, F.S., 2024. Monitoring of meat quality and change-point detection by a sensor array and profiling of bacterial communities. Analytica Chimica Acta, p.343022.*||Business Science|*Li, Z. and Tian, Y., 2024. Skewed multifractal cross-correlation between price and volume during the COVID-19 pandemic: Evidence from China and European carbon markets. Applied Energy, 371, p.123716.*||Ecography|*Smith, M.M. and Pauli, J.N., 2024. Small but connected islands can maintain populations and genetic diversity under climate change. Ecography, p.e07119.*||Cognitive Science|*Prein, J.C., Maurits, L., Werwach, A., Haun, D.B. and Bohn, M., 2024. Variation in gaze following across the life span: A process‐level perspective. Developmental Science, p.e13546.*||Neuroscience|*Aqel, K., Wang, Z., Peng, Y.B. and Maia, P.D., 2024. Reconstructing rodent brain signals during euthanasia with eigensystem realization algorithm (ERA). Scientific Reports, 14(1), p.12261.*||Glaciology|*Ramón, C.L., Rueda, F.J., Priet‐Mahéo, M.C. and Andradóttir, H., 2024. The impact of deep glacial water diversions from a hydroelectric reservoir in the thermal dynamics of a sub-arctic lake. Journal of Hydrology, 635, p.131081.*||Quaternary Science|*Gibson, D.K., Bird, B.W., Finney, B.P. and Steinman, B.A., 2024. Holocene insolation and sea surface temperature influences on the polar front jet stream and precipitation in the midcontinental United States. Quaternary Science Reviews, 340, p.108865.*||Geography|*Lyu, R., Pang, J., Zhang, J. and Zhang, J., 2024. The impacts of disturbances on mountain ecosystem services: Insights from BEAST and Bayesian network. Applied Geography, 162, p.103143.*||Watershed Hydrology|*Sakizadeh, M., Milewski, A. and Sattari, M.T., 2023. Analysis of Long-Term Trend of Stream Flow and Interaction Effect of Land Use and Land Cover on Water Yield by SWAT Model and Statistical Learning in Part of Urmia Lake Basin, Northwest of Iran. Water, 15(4), p.690.*||Oceanography|*Oehlert, A.M., Hunter, H., Riopelle, C. and Purkis, S.J., 2023. Perturbation to North Atlantic Ocean‐Climate Dynamics Tripled Whitings Mud Production in the Bahamas. Journal of Geophysical Research: Oceans, 128(11), p.e2023JC020021.*|| Hydraulic Engineering | *Xu, X., Yang, J., Ma, C., Qu, X., Chen, J. and Cheng, L., 2022. Segmented modeling method of dam displacement based on BEAST time series decomposition. Measurement, 202, p.111811.* ||Social Media|*Barrie, C., Ketchley, N., Siegel, A. and Bagdouri, M., 2023. Measuring Media Freedom.*||Political Economy|*Benchimol, J. and Palumbo, L., 2023. Sanctions and Russian Online Prices.*||Physiology|*Shakeel, M., Brockmann, A. Temporal effects of sugar intake on fly local search and honey bee dance behaviour. J Comp Physiol A (2023). https://doi.org/10.1007/s00359-023-01670-6*||Injuries & Hazards|*Delavary, M., Kalantari, A.H., Mohammadzadeh Moghaddam, A., Fakoor, V., Lavallière, M. and Wilhelm Siebert, F., 2024. Road traffic mortality in Iran: longitudinal trend and seasonal analysis, March 2011-February 2020. International journal of injury control and safety promotion, 31(1), pp.125-137.*||Civil Engineering|*Langtry, M., Wichitwechkarn, V., Ward, R., Zhuang, C., Kreitmair, M.J., Makasis, N., Conti, Z.X. and Choudhary, R., 2024. Impact of data for forecasting on performance of model predictive control in buildings with smart energy storage. Energy and Buildings, p.114605.*||Ichthyology|*Kaeding, L.R., 2023. Climate-change and nonnative-piscivore impacts on a renowned Oncorhynchus metapopulation, requirements for metapopulation recovery, and similarities to anadromous salmonid metapopulations. Aquatic Sciences, 85(4), p.88.*||Remote Sensing|*Mulverhill, C., Coops, N.C. and Achim, A., 2023. Continuous monitoring and sub-annual change detection in high-latitude forests using Harmonized Landsat Sentinel-2 data. ISPRS Journal of Photogrammetry and Remote Sensing, 197, pp.309-319.*||Physical Chemistry|*Faran, M. and Bisker, G., 2023. Nonequilibrium Self-Assembly Time Forecasting by the Stochastic Landscape Method. The Journal of Physical Chemistry B.*||Mechanobiology|*Faran, M., Ray, D., Nag, S., Raucci, U., Parrinello, M. and Bisker, G., 2024. A Stochastic Landscape Approach for Protein Folding State Classification. Journal of Chemical Theory and Computation.*||Analytical Chemistry|*Simic, M., Neuper, C., Hohenester, U. and Hill, C., 2023. Optofluidic force induction as a process analytical technology. Analytical and Bioanalytical Chemistry, pp.1-11.*|| Ecosystem Sciences | *Lyu, R., Zhao, W., Pang, J., Tian, X., Zhang, J. and Wang, N., 2022. [Towards a sustainable nature reserve management: Using Bayesian network to quantify the threat of disturbance to ecosystem services](https://www.sciencedirect.com/science/article/pii/S2212041622000791). Ecosystem Services, 58, p.101483.* || Environmental Sciences| *Nickerson, S., Chen, G., Fearnside, P., Allan, C.J., Hu, T., de Carvalho, L.M. and Zhao, K., 2022. [Forest loss is significantly higher near clustered small dams than single large dams per megawatt of hydroelectricity installed in the Brazilian Amazon](https://iopscience.iop.org/article/10.1088/1748-9326/ac8236/meta). Environmental Research Letters.*||Geology| *Fan, X., Goeppert, N. and Goldscheider, N., 2023. Quantifying the historic and future response of karst spring discharge to climate variability and change at a snow-influenced temperate catchment in central Europe. Hydrogeology Journal, pp.1-17.*||Wildlife|*Smith, Matthew M., and Jonathan N. Pauli. "Connectivity maintains genetic diversity and population persistence within an archipelagic refugia even under declining lake ice." Mechanisms of species recovery for a forest carnivore in a changing landscape: 173.*|| Climate Sciences|*Duke, N.C., Mackenzie, J.R., Canning, A.D., Hutley, L.B., Bourke, A.J., Kovacs, J.M., Cormier, R., Staben, G., Lymburner, L. and Ai, E., 2022. [ENSO-driven extreme oscillations in mean sea level destabilise critical shoreline mangroves—An emerging threat](https://journals.plos.org/climate/article?id=10.1371/journal.pclm.0000037). PLOS Climate, 1(8), p.e000003*|| Finance|*Candelaria, Christopher A., Shelby M. McNeill, and Kenneth A. Shores. (2022). What is a School Finance Reform? Uncovering the ubiquity and diversity of school finance reforms using a Bayesian changepoint estimator.(EdWorkingPaper: 22-587). Retrieved from Annenberg Institute at Brown University: https://doi.org/10.26300/4vey-3w10*|| Public health|*Linnell, K., Fudolig, M., Schwartz, A., Ricketts, T.H., O'Neil-Dunne, J.P., Dodds, P.S. and Danforth, C.M., 2022. [Spatial changes in park visitation at the onset of the pandemic](https://journals.plos.org/globalpublichealth/article?id=10.1371/journal.pgph.0000766). arXiv preprint arXiv:2205.15937.*||Biometerology|*Li, Y., Liu, Y., Bohrer, G., Cai, Y., Wilson, A., Hu, T., Wang, Z. and Zhao, K., 2022. [Impacts of forest loss on local climate across the conterminous United States: Evidence from satellite time-series observations](https://www.sciencedirect.com/science/article/pii/S0048969721047264). Science of The Total Environment, 802, p.149651.*|| Applied Math|*Ferguson, Daniel, and Francois G. Meyer. [Probability density estimation for sets of large graphs with respect to spectral information using stochastic block models](https://arxiv.org/abs/2207.02168). arXiv preprint arXiv:2207.02168 (2022).*||Transportation Science| *Delavary, M., Kalantari, A.H., Mohammadzadeh Moghaddam, A., Fakoor, V., Lavalliere, M. and Wilhelm Siebert, F., 2023. Road traffic mortality in Iran: longitudinal trend and seasonal analysis, March 2011-February 2020. International Journal of Injury Control and Safety Promotion, pp.1-12.*||Water quality|*He, Ziming, Jiayu Yao, Yancen Lu, and Danlu Guo. "Detecting and explaining long-term changes in river water quality in south eastern Australia." Hydrological Processes: e14741.*||Air quality|*Wu, S., Yao, J., Wang, Y. and Zhao, W., 2023. Influencing factors of PM2. 5 concentrations in the typical urban agglomerations in China based on wavelet perspective. Environmental Research, p.116641.*|| Hydrology | *Zohaib, M. and Choi, M., 2020. [Satellite-based global-scale irrigation water use and its contemporary trends](https://www.sciencedirect.com/science/article/pii/S0048969720302291). Science of The Total Environment, 714, p.136719.* || Energy Engineering |*Lindig, S., Theristis, M. and Moser, D., 2022. Best practices for photovoltaic performance loss rate calculations. Progress in Energy, 4(2), p.022003.*||Virology|*Shen, L., Sun, M., Song, S., Hu, Q., Wang, N., Ou, G., Guo, Z., Du, J., Shao, Z., Bai, Y. and Liu, K., 2022. [The impact of anti-COVID19 nonpharmaceutical interventions on hand, foot, and mouth disease—A spatiotemporal perspective in Xi'an](https://onlinelibrary.wiley.com/doi/abs/10.1002/jmv.27715), northwestern China. Journal of medical virology.*|| Pharmaceutical Sciences|*Patzkowski, M.S., Costantino, R.C., Kane, T.M., Nghiem, V.T., Kroma, R.B. and Highland, K.B., 2022. Military Health System Opioid, Tramadol, and Gabapentinoid Prescription Volumes Before and After a Defense Health Agency Policy Release. Clinical Drug Investigation, pp.1-8.*|| Geography|*Cai, Y., Liu, S. and Lin, H., 2020. Monitoring the vegetation dynamics in the Dongting Lake Wetland from 2000 to 2019 using the BEAST algorithm based on dense Landsat time series. Applied Sciences, 10(12), p.4209.*|| Oceanography|*Pitarch, J., Bellacicco, M., Marullo, S. and Van Der Woerd, H.J., 2021. [Global maps of Forel-Ule index, hue angle and Secchi disk depth derived from 21 years of monthly ESA Ocean Colour Climate Change Initiative data](https://essd.copernicus.org/articles/13/481/2021/). Earth System Science Data, 13(2), pp.481-490.*||Photovoltaics|*Micheli, L., Theristis, M., Livera, A., Stein, J.S., Georghiou, G.E., Muller, M., Almonacid, F. and Fernadez, E.F., 2021. Improved PV soiling extraction through the detection of cleanings and change points. IEEE Journal of Photovoltaics, 11(2), pp.519-526.*||Climate Sciences|*White, J.H., Walsh, J.E. and Thoman Jr, R.L., 2021. [Using Bayesian statistics to detect trends in Alaskan precipitation](https://rmets.onlinelibrary.wiley.com/doi/abs/10.1002/joc.6946). International Journal of Climatology, 41(3), pp.2045-2059.*||Field Hydrology|*Merk, M., Goeppert, N. and Goldscheider, N., 2021. [Deep desiccation of soils observed by long-term high-resolution measurements on a large inclined lysimeter](https://hess.copernicus.org/articles/25/3519/2021/). Hydrology and Earth System Sciences, 25(6), pp.3519-3538.*||Forest Ecology|*Moreno-Fernandez, D., Viana-Soto, A., Camarero, J.J., Zavala, M.A., Tijerin, J. and Garcia, M., 2021. Using spectral indices as early warning signals of forest dieback: The case of drought-prone Pinus pinaster forests. Science of The Total Environment, 793, p.148578.*||Atmospheric Sciences|*Tingwei, C., Tingxuan, H., Bing, M., Fei, G., Yanfang, X., Rongjie, L., Yi, M. and Jie, Z., 2021. Spatiotemporal pattern of aerosol types over the Bohai and Yellow Seas observed by CALIOP. Infrared and Laser Engineering, 50(6), p.20211030.*||Terrestrial ecology|*Dashti, H., Pandit, K., Glenn, N.F., Shinneman, D.J., Flerchinger, G.N., Hudak, A.T., de Graaf, M.A., Flores, A., Ustin, S., Ilangakoon, N. and Fellows, A.W., 2021. [Performance of the ecosystem demography model (EDv2. 2) in simulating gross primary production capacity and activity in a dryland study area](https://www.sciencedirect.com/science/article/pii/S0168192320303725). Agricultural and Forest Meteorology, 297, p.108270.*||Statistics|*Storath, M. and Weinmann, A., 2023. Smoothing splines for discontinuous signals. Journal of Computational and Graphical Statistics, (just-accepted), pp.1-26.*||Environmental Engineering|*Bainbridge, R., Lim, M., Dunning, S., Winter, M.G., Diaz-Moreno, A., Martin, J., Torun, H., Sparkes, B., Khan, M.W. and Jin, N., 2022. Detection and forecasting of shallow landslides: lessons from a natural laboratory. Geomatics, Natural Hazards and Risk, 13(1), pp.686-704.*||Fishery|* Theis, S., Wallace, A.,, Poesch, M., Portiss, R. & Ruppert, J.. (2024). Balancing boat-electrofishing sampling effort against costs for nearshore fish communities in the Toronto waterfront, Lake Ontario. Fisheries Management and Ecology. 10.1111/fme.12733. *||Hydrology|*Yang, X., Tian, S., You, W. and Jiang, Z., 2021. Reconstruction of continuous GRACE/GRACE-FO terrestrial water storage anomalies based on time series decomposition. Journal of Hydrology, 603, p.127018.*||Landscape Ecology|*Adams, B.T., Matthews, S.N., Iverson, L.R., Prasad, A.M., Peters, M.P. and Zhao, K., 2021. Spring phenological variability promoted by topography and vegetation assembly processes in a temperate forest landscape. Agricultural and Forest Meteorology, 308, p.108578.*|

A novel Stochastic Fractal Search Algorithm with Fitness-Distance Balance for Global Numerical OptimizationPlease click for the article: https://www.sciencedirect.com/science/article/abs/pii/S2210650220304740Please click for the article of FDB method: https://www.sciencedirect.com/science/article/abs/pii/S0950705119305167Please click for the FDB-SOS algorithm: https://www.mathworks.com/matlabcentral/fileexchange/72311-fdb-sos

This simple script starts a new instance of MATLAB, and closes the instance from which it was called. Before the restart actions, there is a confirmation dialogue to confirm the restart.It's suggested that the comamnd is set as a favorite command, on the toolbar.

1) runMe.m(use arrow keys to interact with pattern)2) OpticalFlowTutorialPart1.pdfNOTE 1: This is a beta version. I would like to know about bugs so that I can improve this major update. We are working on a publication, so please check back for a proper reference if you plan on using this for your work.Note 2: There are NO toolboxes required to run this. If it says differently below, ignore it.Some of the material that was intended for use in parts 2 and 3 have ended up in proprietary software, so I hope those who were waiting for that will accept my apologies. To compensate, I am working hard to make part 1 (the only part) especially easy to use.http://islab.hh.se/mediawiki/index.php/Stefan_Karlsson/PersonalPageA Quick view on applications:http://www.youtube.com/watch?v=h4umf0iCrFUGet Started:http://youtu.be/u1jSwcVoFcM

This is simple basic PSO function.This function is well illustrated and analogically programed to understand and visualize Particle Swarm Optimization theory in better way and how it implemented.To run this you also need to have a function MinMaxCheck.m(File Id: #43251)PSO Description: http://en.wikipedia.org/wiki/Particle_swarm_optimizationProgram Description:%%% INPUT VARIABLES% Bird_in_swarm=Number of particle=agents=candidate% Number_of_quality_in_Bird=Number of Variable%% MinMaxRange: jx2 matrix; jth row contains minimum and maximum values of the jth variable% say you have a variable N1 % which can have maximum value M1 and minimum value m1% then your matrix will be [m1 M1] % for more:% [m1 M1; m2 M2; mj Mj]%% Food_availability=Objective function with one input variable (for more than one variable you may use array)% example for two variable% function f = funfunc(array)% a=array(1);% b=array(2);% f = a+b ;% end% Food_availability is a string, for above example : 'funfunc'%% availability_type is string 'min' or 'max' to check depending upon need to minimize or maximize the Food_availability% velocity_clamping_factor (normally 2)% cognitive_constant=c1=individual learning rate (normally 2)% social_constant=c2=social parameter (normally 2)% normally C1+C2>=4%% Inertia_weight=At the beginning of the search procedure, diversification is heavily weighted, while intensification is heavily weighted at the end of the search procedure.% Min_Inertia_weight=min of inertia weight (normally 0.4)% Max_Inertia_weight=max of inertia weight (normally 0.9)% max_iteration=how many times readjust the position of the flock/swarm of birds its quest for food% %% OUTPUT VARIABLE% optimised_parameters : Optimal parametersRequired MATLAB function MinMaxCheck.m (File Id: #43251)http://www.mathworks.in/matlabcentral/fileexchange/43251-bound-values-of-an-arrayIf the program helps you in any way in your seminar/project/research/thesis etc. work, then please cite our work (either this page or the paper). Thank you.

Telegram Bot Toolbox API The Telegram Bot Toolbox API created for developers keen on building bots for Telegram.Use this toolbox to build chatbot or informer. You can simply send any types of files or text messages in telegram, build bot to collect data from automated interview or control devices.Each bot is given a unique authentication token when it is created. The token looks something like 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. You can learn about obtaining tokens and generating new ones in https://core.telegram.org/bots/api UsageSee the example1 and example2.LicenseDistributed under the MIT License. See LICENSE for more information.ContactProject Link: alekseikukin/mtbtapi.

Jx-DLT : Deep Learning Toolbox* This toolbox contains the convolution neural network (CNN) * The < Main.m file > shows examples of how to use CNN programs with the benchmark data set. Note we demo the CNN using one to three convolution layers setup.* Detail of this toolbox can be found at https://github.com/JingweiToo/Deep-Learning-Toolbox**********************************************************************************************************************************

The package contains:1. DRB.m - The source code of the recently introduced Deep Rule-Based Classifier;2. Deep Rule-Based Classifier.pdf - The instruction of the source code;3. MNISTexample.mat - The example images and the extracted features.References: [1] X. Gu, P. Angelov, C. Zhang and P. M. Atkinson , “A Massively Parallel Deep Rule-Based Ensemble Classifier for Remote Sensing Scenes,” IEEE Geoscience and Remote Sensing Letters, vol.15(3), pp. 345 - 349, 2018.[2] P. Angelov and X. Gu, “Deep Rule-Based Classifier with Human-level Performance and Characteristics,” Information Sciences, vol.463-464, pp. 196-213., 2018.For any queries about the codes, please contact Prof. Plamen P. Angelov (p.angelov@lancaster.ac.uk) and Dr. Xiaowei Gu (x.gu3@lancaster.ac.uk)The semi-supervised learning extension of the Deep Rule-Based Classifier is available at: https://uk.mathworks.com/matlabcentral/fileexchange/67773-semi-supervised-deep-rule-based-classifier?s_tid=prof_contriblnk Programmed by Xiaowei Gu

This is a simple class/toolbox for classification and regression ensemble learning.It enables the user to manually create heterogeneous, majority voting, weighted majority voting, mean, and stacking ensembles with MATLAB's "Statistics and Machine Learning Toolbox" classification models.Version 1.0.0 also adds boosting, bagging, random subspace, and "random forest" training approaches.

To use the code, just run and enter a number between 1-9 to select one of the predefined robots in the code. They are rotary beam, planar 2 DoF manipulator, SCARA, Spherical robot, etc. The degree of freedom of them varies from 1 to 6, but it must be compatible with the case number. The dynamics of robots lower than 4 DoF are computed fast though, above 4, you should expect more time to see the results.The notation of the code could be followed in [1] or [2].The robots are defined between lines 109-354, you may add your own in the proposed format.The derivation of dynamics is coded between 357-437.The presentation of the dynamics is the rest of the code between 439-460. For robotic arms with lower than 5 DoF, you can see the output in the command screen and use it. For manipulators with higher than 5 DoF, the command window is not able to print all of them. So, you may find the dynamics in the saved output text file “Output_Manipulator_Dynamics.txt”For the sake of speed of computations, the simplify command was removed from the codes for manipulators with more than 4 DoF, lines 445-448. If you want to see the compact form of the output, you may add a “simplify” command for them as well, but you should remember it is so time-consuming.[1] Korayem, M.H. and S.R. Nekoo, "Finite-time state-dependent Riccati equation for time-varying nonaffine systems: Rigid and flexible joint manipulator control," ISA Transactions, 54, pp. 125-144, 2015.[2] Korayem, M.H. and S.R. Nekoo, "State-dependent differential Riccati equation to track control of time-varying systems with state and control nonlinearities," ISA Transactions, 57, pp. 117-135, 2015.This code is one of the attachments of Ref. [2]. It is provided for free use.More sophisticated codes, linked to SDRE and SDDRE regulation and tracking can be found in the attachment of Ref. [2] on the journal website.

This standalone version of the EOF function is no longer being maintained. It still works fine, but you'll find the most up-to-date version in the Climate Data Toolbox for MATLAB here: https://www.mathworks.com/matlabcentral/fileexchange/70338. If the eof function has been useful for you, please cite our Climate Data Toolbox for MATLAB paper! This function simplifies the process of applying Empirical Orthogonal Functions (spatiotemporal principal component analysis) to 3D datasets such as climate data. EOF analysis is not terribly difficult to implement, but much time is often spent trying to figure out how to reshape a big 3D dataset, get the EOFs, and then un-reshape. This function does all the reshaping for you, and performs EOF analysis in a computationally efficient manner. The analysis method is a streamlined and optimized version of Guillame MAZE's caleof function, method 2. For a full description and an in-depth tutorial describing how to perform EOF analysis on climate data, click on the Example tab above.

GENERAL DESCRIPTIONThis toolbox is a Matlab tool for electrolysis modelling, for both PEM andalkaline systems. Main functionality is in parametrization of the UI curvebased on measured data. This toolbox aims to simplify the process andprovide easy-to-use commands for quickly determining the UI curve parametervalues and their margins of uncertainty.INSTALLATIONMATLAB needs to be installed on the computer for the user to be able toinstall the electrolyzer modelling toolbox. Following steps install thetoolbox for that matlab installation:Download the provided electrolyzerModellingToolbox.mltbx file from thereleases page.Double click on the .mltbx file to initiate installation.Once the installation completes the toolbox functions are usable in allmatlab projectsAUTHORS AND CONTACTSPietari PuranenJunior researcher at the Lappeenranta-Lahti University of Technology LUTEmail: Pietari.Puranen@lut.fiLauri JärvinenJunior researcher at the Lappeenranta-Lahti University of Technology LUTEmail: Lauri.Jarvinen@lut.fiAKNOWLEDGEMENTSMarchov Chain Monte Carlo (MCMC) tools provided by Marko Laine have beenused for the determination of uncertainty in curve fitting when using theparticleswarm optimization method. The licensing for the tools can be foundunder ./Utils/mcmcstat/LICENSE.txtThe Academy of Finland is acknowledged for the main financial support ofthe Research of Power Quality Effect on Water Electrolyzer Operation(POQELYZER) project.

RTFS is a user-friendly interface designed to assist the user in the task of building complex transmission line models for short-circuit analysis in power systems, using the Alternative Transients Program - ATP. This tool enables the user to carry out fault simulations with increased levels of detail, in which line spans, grounding structures, phase conductors, and shield wires are modeled and analyzed individually, allowing the construction of complex designs of long transmission lines, accounting for variations along its course (geometry and conductor changes, transpositions, soil heterogeneities) and providing direct access to current and voltage responses for all conductors at every line section.Based on user input, RTFS writes the appropriate Line Constants blocks and main ATP files, invokes the ATP solver and processes the results according to the requested outputs. The main technical highlights are:♦ Supports up to 9999 line spans.♦ Supports Pi, Bergeron and JMarti line models.♦ Span lenghts, soil resistivities and ground impedances may be set individually for each section or loaded from CSV files.♦ Supports all types of faults, involving one, two and three phases, with variable incidence angle.♦ Supports different cross-sections along the transmission line course.♦ Supports different transposition schemes.♦ Supports single and double circuit lines.♦ Includes a conductor database.External functions included:♦ Paul Mennen (2020). prin (https://www.mathworks.com/matlabcentral/fileexchange/60981-prin), MATLAB Central File Exchange. Retrieved October 4, 2020.

bubblebath() plots circles or other polygons at random positions with varying radii. All input parameters are optional including frame size, range of radii, number of vertices per bubble (eg, polygon shape), density, the amount of space between bubbles or how much they can overlap, edge behavior, and other parameters. A figure is produced and there are four outputs that allow the user to make further changes to the plotted objects or to recreate the exact same plot using the same version of the code. See the help section for a detailed description of each optional parameter and its default value. bubblebath_examples.mlx contains many examples showing how to manipulate parameters and how to use the outputs to add color, calculated area of each circle, and other useful information. Follow this page for updates.

The optimal power flow (OPF) problem is the backbone tool for power system operation. The objective of the OPF problem is to determine the optimal operating state of a power system by optimizing a particular objective while satisfying certain operating constraints.This code is an illustration on how to solve the OPF problem using a metaheuristic.

TPMS-DesignerAn open-source Matlab toolbox for generation, analysis and visualisation of TPMS-like structures and other 3D objects.Install InstructionsTo install the complete toolbox in Matlab, download the latest release of TPMS Designer Release and include files in your path within matlab.To install just the GUI application, download and runTPMS-Designer/app/TPMS Designer GUI.mlappinstallFor users without Matlab, you may download the stand-alone version.Download and run TPMS-Designer/app/TPMSDesigner_Installer_web.exeThis may take a while and will prompt you to install the relevant version of the free matlab runtime.

Image Recoloring Based on Object Color DistributionsMahmoud Afifi1, Brian Price2, Scott Cohen2, and Michael S. Brown11York University 2Adobe ResearchProject pageAbstract We present a method to perform automatic image recoloring based on the distribution of colors associated with objects present in an image. For example, when recoloring an image containing a sky object, our method incorporates the observation that objects of class 'sky' have a color distribution with three dominant modes for blue (daytime), yellow/red (dusk/dawn), and dark (nighttime). Our work leverages recent deep-learning methods that can perform reasonably accurate object-level segmentation. By using the images in datasets used to train deep-learning object segmentation methods, we are able to model the color distribution of each object class in the dataset. Given a new input image and its associated semantic segmentation (i.e., object mask), we perform color transfer to map the input image color histogram to a set of target color histograms that were constructed based on the learned color distribution of the objects in the image. We show that our framework is able to produce compelling color variations that are often more interesting and unique than results produced by existing methods. Quick startRun install_p1Run install_p2Go to the demo directory and copy your input images to input_images directoryRun demo_recoloringThe recolored images will be in the recolored_images directory and the generated semantic masks will be in output_masks directory.Run demo_GUI for our interactive GUI version.Manual installationInstall RefineNet for semantic segmentation.Download the trained model for ADE20k dataset. In our experiments, we used the ResNet-152 model.Create a directory and name it SS_CNN. This directory should contain the RefineNet direcotry after installing RefineNet and MatConvNet (prerequisite for RefineNet). For example, the read me file of RefineNet should be located in the following path SS_CNN/RefineNet/README.mdUse the following matlab code to add paths for our sub-directories: current = pwd; addpath([current '/colour-transfer-master']); addpath([current '/cp']); addpath([current '/emd']); addpath([current '/getMask']); addpath([current '/recoloring']); addpath([current '/general']); savepathCompile mex files for the Earth Mover's Distance (EMD) files located in the emd directory. Use the following Matlab code: mex EMD1.cpp mex EMD2.cpp mex EMD3.cppBe sure that you select MinGW for C++ Mex file compiling. To change it, use the following Matlab command: mex -setup C++Download Scene Parsing dataset (we only use the training set which includes training images/semantic masks). The dataset should be located in the following path ../ADEChallengeData2016 (assuming you are located in the root directory of our source code). For example, you should be able to read the first training image ADE_train_00000001.jpg and its semantic mask by writing the following Matlab code: I = imread(fullfile('..','ADEChallengeData2016','images','training','ADE_train_00000001.jpg')); M = imread(fullfile('..','ADEChallengeData2016','annotations','training','ADE_train_00000001.png'));Download our pre-computed data that includes the distribution of object color distributions (DoD) from here (also, is available here). Make sure that you locate the DoD data in the following path ../data/DoD_data (assuming you are located in the root directory of our source code). For example, you should be able to load the first cluster data by writing the following Matlab code: load(fullfile('..','data','DoD_data','airplane_clust_1.mat'));GUITry our GUI version which includes the following features:Semantic mask adjustment: You can adjust the semantic mask in an interactive way (semi-automated and manual adjustments are provided). Selecting primary object: You can select the primary object to get different results.To test it, run demo_GUI from the demo directory.PublicationIf you use this code, please cite our paper:Mahmoud Afifi, Brian Price, Scott Cohen, and Michael S. Brown, Image Recoloring Based on Object Color Distributions, Eurographics 2019 - Short Papers, 2019@inproceedings {afifi2019imageRecoloring,booktitle = {Eurographics 2019 - Short Papers},title = {{Image Recoloring Based on Object Color Distributions}},author = {Afifi, Mahmoud and Price, Brian and Cohen, Scott and Brown, Michael S.},year = {2019},publisher = {The Eurographics Association},ISSN = {1017-4656},DOI = {10.2312/egs.20191008}}Related Research ProjectsHistoGAN: A method to control colors of GAN and real images. Image auto recoloring is one of its applications.CAMS: A color-aware multi-style transfer method.

❗ We just added some major changes into the main functionality of BEAR to improve its usability. To access the previous version of the code use the legacyCode branchGitHub® ActionsThe BEAR toolboxTable of ContentsIntroductionStructure of the repositoryInstalling BEARFor usersFor developersFor non-MATLAB usersGetting startedCreating a settings objectRunning BEAR from the command lineRunning BEAR interactivelyDocumentationDistribute BEARWith other MATLAB usersWith non MATLAB usersLicenseIntroductionThe Bayesian Estimation, Analysis and Regression toolbox (BEAR) is a comprehensive (Bayesian Panel) VAR toolbox for forecasting and policy analysis.BEAR is a MATLAB based toolbox which is easy for non-technical users to understand, augment and adapt. In particular, BEAR includes a user-friendly graphical interface which allows the tool to be used by country desk economists.Furthermore, BEAR is well documented, both within the code as well as including a detailed theoretical and user’s guide. BEAR includes state-of-the art applications such as FAVARs, stochastic volatility, time-varying parameters, mixed-frequency, sign and magnitude restrictions, conditional forecasts, Bayesian forecast evaluation measures, Bayesian Panel VAR using different prior distributions (for example hierarchical priors).BEAR is specifically developed for transparently supplying a tool for state-of-the-art research and is planned to be further developed to always be at the frontier of economic research.Use of BEAR implies acceptance of the End User Licence Agreement (EULA) for the Use of the Software “the Bayesian Estimation, Analysis and Regression (BEAR) toolbox”.BEAR at ECBStructure of the repositoryThis repository is organized as follows. All BEAR files that need to be installed by the end-users are located inside the tbx in four separate directories:app contains all the files related to the user interfacebear has all the core MATLAB functions and classesreplications contains a set of Excel and settings files to replicate previous results from the literatureexamples contains a set of functions to create settings objects for each VAR typedoc contains a set of PDFs with some of the BEAR documentationThe rest of the folders contain development files related to the development of BEAR which will not be copied in non-development environments. This folders are structured as follows:tests contains a set of MATLAB unit tests which are automatically run within GitHub actions every time any change is pushed to the master branch.resources contains the metadata of the MATLAB project bear.prjrelease contains the definition files that allow the user compiling BEAR into a standalone applicationimages contains all the images used within the README files of the repositoryInstalling BEARFor usersThis section is aimed to those users indending to run BEAR, but not interested in working or ammending the code.From MATLAB or MATLAB OnlineTo install the toolbox directly from MATLAB, please go to HOME > Add Ons, search for BEAR and install the toolbox. Alternatively, follow the steps below to install it from GitHub.From GitHubDownload the latest bear.mltbx file that you will find under the Releases section on the right.Once this file has been downloaded, you can double click it from MATLAB to install the toolbox.For developersIf there was a need to modify the BEAR code, it is recommended not to modify the installed version. Instead, the best approach is to clone the repository and open the project. To open the project, you can double click on bear.prj in the main folder or rnu the command:>> openProject('bear.prj')Opening the MATLAB project will shadow the installed version of BEAR as long as the project is open, once the project is shut down, the installed version will again be default version. To check which verison of BEAR is currently running, you can run:>> which BEARmainFor non-MATLAB usersUnder releases, you will find an executable with the compiled application that you can install in any Windows based computer. To run the installer, just download the .EXE file and run it.Alternatively, if you wanted to run the full version of BEAR, you can get a trial version of MATLAB here.Getting startedCreating a settings objectTo create a settings object you can use the function>> s = BEARsettings(, 'ExcelFile','data.xlsx')This will return a settings object with different properties depending on the selected VARtype.Running BEAR from the command lineTo run BEAR, please use:>> BEARmain(s)where s is a BEAR settings object created with the BEARsettings function.Running BEAR interactivelyFrom MATLAB run the command below to open the main BEAR interface.>> BEARappExamplesIf you want to see an example on how to run BEAR, you can run any of the following files directly:s = bear_settings_BVARs = bear_settings_PANELs = bear_settings_SVs = bear_settings_TVPs = bear_settings_MFchange your inputs accordingly and then run BEARmain(s). Alternatively, if you wanted to build your own settings files, you use any of these as a template running for example:copyfile(fullfile(bearroot(), 'examples', 'bear_settings_BVAR.m'), pwd)edit('bear_settings_BVAR')DocumentationFor a full BEAR documentation please visit our doc page.Distribute BEARWith other MATLAB usersAny MATLAB user can download the latest version of BEAR from the GitHub repository. However, if you wanted to create your own custom distribution you can package it as a MATLAB toolbox as follows:Open the tbx.prj and edit the main fields such as author, version, and description.Either click on package or run:projectFile = 'tbx.prj';matlab.addons.toolbox.packageToolbox(projectFile)With non-MATLAB usersIf you wanted to share BEAR with someone who is not a MATLAB user, there are several routes you can take:You can use MATLAB Compiler to share the APP as a standalone program. For this, please open the Application Compiler from the toolstrip:Select as MAIN FILE the appropriate BEAR app from your set of files. For example, tbx\app\BEARapp20a.Under Files required for your application to run add the following in addition to the automatically detected ones:tbx\bear\+bear\results.xlsxtbx\replications\data_AAU2009.xlsxtbx\replications\data_BBE2005.xlsxtbx\replications\data_BvV2018.xlsxtbx\replications\data_CH2019.xlsxtbx\replications\data_WGP2016.xlsxtbx\default_bear_data.xlsxClick on Package.You will get a subfolder with the files that you can use to redistribute the applicationFor external language integrationIf you wanted to share specific functionality with users of other languages, you can take a look at Compiler SDK. The process is analgous to the previous one but selecting a different target.LicenseUse of BEAR implies acceptance of the End User Licence Agreement (EULA) for the Use of the Software “the Bayesian Estimation, Analysis and Regression (BEAR) toolbox”.License

These example models enable you to use simulation to evaluate electric and hybrid electric aircraft architectures against design criteria such as flight range and flight duration. The models are parameterized so that you can modify many aspects of the design. MATLAB code automates parameter sweeps of battery size and payload. Using these models of electric aircraft in Simulink, you can rapidly explore the design space to identify ranges that meet system requirements. Models include a fixed wing and a VTOL aircraft in separate folders.Please read the README.md file to get started.Use the "Download" button above to get files compatible with the latest release of MATLAB.You can also test the example in MATLAB Online.Use the links below to get files compatible with earlier releases of MATLAB.For R2024a: Use Download button aboveFor R2023b: https://github.com/mathworks/Simscape-Air-Taxi/archive/23.2.4.0.zipFor R2023a: https://github.com/mathworks/Simscape-Air-Taxi/archive/23.1.4.0.zipFor R2022b: https://github.com/mathworks/Simscape-Air-Taxi/archive/22.2.3.5.zipFor R2022a: https://github.com/mathworks/Simscape-Air-Taxi/archive/22.1.3.5.zipFor R2021b: https://github.com/mathworks/Simscape-Air-Taxi/archive/21.2.3.4.zipFor R2021a: https://github.com/mathworks/Simscape-Air-Taxi/archive/21.1.3.3.zipFor R2020b: https://github.com/mathworks/Simscape-Air-Taxi/archive/20.2.3.2.zipFor R2020a: https://github.com/mathworks/Simscape-Air-Taxi/archive/20.1.3.1.zipFor R2019b: https://github.com/mathworks/Simscape-Air-Taxi/archive/19.2.3.0.zipFor R2019a: https://github.com/mathworks/Simscape-Air-Taxi/archive/19.1.2.1.zipFor R2018b: https://github.com/mathworks/Simscape-Air-Taxi/archive/18.2.2.0.zipFor R2018a: https://github.com/mathworks/Simscape-Air-Taxi/archive/18.1.1.1.zipFor R2017b: https://github.com/mathworks/Simscape-Air-Taxi/archive/17.2.1.0.zipTry these free, hands-on tutorials to learn how to use Simscape:https://www.mathworks.com/learn/tutorials/simscape-onramp.htmlhttps://www.mathworks.com/learn/tutorials/circuit-simulation-onramp.htmlFind other Simscape examples by searching posts for the keyword "physical modeling" http://www.mathworks.com/matlabcentral/fileexchange/?term=%22physical+modeling%22Learn more about MathWorks Simscape Products: http://www.mathworks.com/physical-modeling/

# Description:-This repository contains the SIMULINK model to control P and Q of the 3-phase VSI connected to the utility grid. The active power is regulated to track the command value using the PI controller (i.e., outer loop), and then the output of the PI regulator represents the reference direct axis current of the inverter which is regulated by the inner PI controller. The same procedure could be applied to the reactive power, but to generate the reference quadrature current of the inverter.# Usage: - Run the file directly.- The model parameters are involved in the model properties.# Requirement:-This model is compatible with `Matlab R2019b` and the most recent versions.# Contact:-For further information, please feel free to contact me:Name:- Abualkasim BakeerPosition:- Teaching-Assistant at Faculty of Engineering, Aswan University, Aswan, EgyptEmail:- abualkasim.bakeer@aswu.edu.eg

FVTool: Finite volume toolbox for MatlabTiny Documents 📘.FVTool in:Python: PyFVToolJulia: JFVM.jlFVToolThis is a finite volume (toy) toolbox for chemical/petroleum engineers.Right now, it can solve a transient convection-diffusion equation with variable velocity field/diffusion coefficients. The discretization schemesinclude:central difference diffusion termcentral difference convection termupwind convection termTVD convection term with various flux limiterstransient termDirichlet, Neumann, Robin, and periodic boundary conditionsWhich equation do you solve?You can solve the following PDE (or a subset of it):with the following boundary conditions:Believe it or not, the above equations describe the majority of the transport phenomena in chemical and petroleum engineering and similar fields.How to startDownload the package, start matlab, and runFVToolStartUpInspirationI started writing this tool after playing with FiPy, an amazing python-based finite volume solver.This matlab solver is not a clone, and indeed very limited compared to FiPy.I wrote it to have a very handy tool for testing new ideas (new mathematical models) by solving them in 1D uniform Cartesian grids.Then I extended the code to1D axisymmetric (radial)2D radial (r, theta)2D Cartesian3D Cartesian2D axisymmetric (cylindrical, r, z)3D cylindrical (r, theta, z)I have overloaded some of the matlab operators to simplify the switch from 1D codes to 2D and 3D.A simple exampleYou can solve a diffusion equation, i.e., $ \nabla. (-D \nabla \phi) = 0 $ by running the following code in Matlab:clcL = 50; % domain lengthNx = 20; % number of cellsm = createMesh1D(Nx, L);BC = createBC(m); % all Neumann boundary condition structureBC.left.a(:) = 0; BC.left.b(:)=1; BC.left.c(:)=1; % Dirichlet for the left boundaryBC.right.a(:) = 0; BC.right.b(:)=1; BC.right.c(:)=0; % right boundaryD_val = 1; % value of the diffusion coefficientD = createCellVariable(m, D_val); % assign the diffusion coefficient to the cellsD_face = harmonicMean(D); % calculate harmonic average of the diffusion coef on the cell facesMdiff = diffusionTerm(D_face); % matrix of coefficients for the diffusion term[Mbc, RHSbc] = boundaryCondition(BC); % matrix of coefficients and RHS vector for the BCM = Mdiff + Mbc; % matrix of coefficients for the PDEc = solvePDE(m,M, RHSbc); % send M and RHS to the solvervisualizeCells(c); % visualize the resultschange the third line to m = createMesh2D(Nx,Nx, L,L); or m = createMesh3D(Nx,Nx,Nx, L,L,L); and see the outcome for yourself.ExamplesThere are a few simple examples in the Tutorial folder.You can also find a few more advanced examples (water injection into a heterogeneous oil field, two nonlinear PDEs, coupledfully implicit solution) in the Advanced folder.DocumentsFind some preliminary documents here.But Matlab is not a free software?You can use the code in octave. The new (object oriented) version of the code works in Octave 4.0 (with the new classdef function).I've re-written the code in Julia. It works fine, but the visualization on Windows OS has still some issues.Questions and bug reportsYou can ask your questions by creating a new issue here, or by writing a comment in my blog. You can also ask your question in the Matlab file exchange page of this code. I truly appreciate your feedback and/or contribution.How to cite:If you have used the package in your work and you find it usefull, please cite it as:@misc{ali_akbar_eftekhari_2015_32745, author = {Ali Akbar Eftekhari and Kai Schüller and Ferran Brosa Planella and Martinus Werts and Behzad Hosseinzadeh}, title = {FVTool: a finite volume toolbox for Matlab}, month = oct, year = 2015, doi = {10.5281/zenodo.32745}, url = {https://doi.org/10.5281/zenodo.32745}}I will also appreciate it if you write me a couple of lines about how you have used it in your research. It encourages me to maintain the code.

Data Envelopment Analysis Toolbox is a new package for MATLAB that includes functions to calculate efficiency and productivity measures. The package covers the radially oriented, directional, additive, allocative, Malmquist índices and Malmquist-Luenberger formulations.A journal paper describing the functionality of the toolbox can be found here: http://dx.doi.org/10.18637/jss.v095.i03Copyright 2020 Inmaculada C. Álvarez, Javier Barbero, José L. Zofío http://www.deatoolbox.com/

2D/3D specific surface of porous media using 2D imagesSpecific surface of the porous media has two different definitions:1-3-D Specific surface of the void/porous space, which is equal to the surface are of pores divided by their volume. In 2-D the definition is: perimeter of pores divided by their area.2-3-D Specific surface of the solid/grain space, which is equal to the surface are of grains divided by their volume. In 2-D the definition is: perimeter of grains divided by their area.This code computes all of these parameters and visualizes the grain/pore boundaries. The unit is: micron ^-1. The resolution of the image is set to be 5 micron per pixel. Consider that you can change the input resolution in beginning lines of the code. the Rabbani et al. (2014) have founded that the 3-D specific surface is approximately 1.35 timesgreater than its 2-D value. In addition this code computes the porosity of the porous media. If porosity obtained irregular you should invert the color of your input image.If you want to use this code in your researches you can cite these articles: 1- Rabbani, A., Jamshidi, S., & Salehi, S. (2014). Determination of specific surface of rock grains by 2D imaging. Journal of Geological Research, 2014. 2- Rabbani, A., & Jamshidi, S. (2014). Specific surface and porosity relationship for sandstones for prediction of permeability. International Journal of Rock Mechanics and Mining Sciences, 71, 25-32.Check out my tutorial videos on porous material modeling via Matlab on youtube:https://www.youtube.com/playlist?list=PLaYes2m4FtR3DBM7TIb6oOZYI-tG4fHLdBy Arash Rabbaniarashrabbani.comrabarash@yahoo.com

The presented codes are two Matlab functions for wide-sense stationarity (WSS) estimation of a signal (e.g., time series) using a novel method developed in two variants. The first variant uses a statistical inference approach (for instance, it implements the Wilcoxon rank sum test and the Brown-Forsythe test), while the second one is purely empirical – it estimates the WSS of the signal "as it is" via comparison of its time-localized summary statistics (mean, variance, covariance), without any assumptions about the underlying process or the population.The functions provide a computation of four Boolean flags for:1) overall wide-sense stationarity i.e., simultaneous stationarity about mean, variance and autocovariance;2) stationarity about the mean;3) stationarity about the variance (and hence about the RMS-value);4) time-invariance of the autocovariance (and hence of the autocorrelation and PSD). A few examples are given to clarify the usage of the functions. For convenience, the input and output arguments are given at the beginning of each function. The codes are based on the theory described in: [1] H. Zhivomirov, I. Nedelchev. A Method for Signal Stationarity Estimation. Romanian Journal of Acoustics and Vibration, ISSN: 1584-7284, Vol. XVII, No. 2, pp. 149-155, 2020. (http://rjav.sra.ro/index.php/rjav/article/view/178/103).[2] H. Zhivomirov. An Empirical Method for Signal Stationarity Estimation. The Scientific Bulletin, Series C: Electrical Engineering and Computer Science, ISSN: 2286-3540, Vol. 86, Issue 2, pp. 243-256, 2024. (https://www.scientificbulletin.upb.ro/rev_docs_arhiva/rezb81_132280).

The codes are named by the order of the sections of the following report:S. R. Nekoo, J. Á. Acosta, G. Heredia and A. Ollero, "A PD-type state-dependent Riccati equation with iterative learning augmentation for mechanical systems," in IEEE/CAA Journal of Automatica Sinica, doi: 10.1109/JAS.2022.105533.In the codes, a transformation of the conventional SDRE to a PD-type has been presented which could be seen in Section 3.The codes of Section 5 are for simulations and the codes of Section 6 are for experiments. To run the experiment codes, having a setup with Arduino digital board is necessary, equipped with optical encoder feedback. To run the experiment code, load the “.mat” data file first and plot the results.The details, formulations, and more information could be found in the above reference. A video of the experiments could be seen on the journal website in the media section.Please download the data “.mat” file for the last code from the journal’s website.

Esta Toolbox tem como objetivo resolver problemas por métodos numéricos diretos e indiretos abordados na disciplina de Cálculo numérico. Métodos Implementados:Método da Bisseção;Método de Newton-Raphson;Método da Secante;Eliminação Gaussiana;Decomposição LU.Funcinalidades:Passo a passo da resolução do problema;Tabela completa de dados;Oferece quatro critérios de parada;Representação gráfica.

paper link: https://link.springer.com/article/10.1007/s10489-021-02629-3 paper link: https://rdcu.be/cqFmDBy using the dynamic FDB selection method, you can transform meta-heuristic search algorithms into a more powerful and efficient method. For this, you should analyze the guide selection process in the meta-heuristic search algorithm and integrate the dynamic FDB selection method into this process. In the uploaded source codes, we applied the dFDB method in the guide selection process of the MRFO algorithm and achieved a unique improvement in the performance of the MRFO. If you read the article that introduces the source codes and the dFDB-MRFO algorithm, you can redesign different algorithms with the dFDB selection method and improve their performance.Manta Ray Foraging Optimizer has been redesigned using the dFDB method, and thus the dFDB-MRFO algorithm has been developed with improved search performance. dFDB-MRFO is an up-to-date and powerful meta-heuristic search algorithm that can be used to solve single-objective optimization problems.FDB Selection Method: Fitness Distance Balance was first introduced in the following link:https://se.mathworks.com/matlabcentral/fileexchange/72311-fdb-sosFDB-based other Meta-heuristic Search AlgorithmsFDB-AGDE (An improved version Adaptive Guided Differential Evolution)https://se.mathworks.com/matlabcentral/fileexchange/90601-fdb-agdeFDB-SDO (An improved version of Supply-Demand Optimizer)https://www.mathworks.com/matlabcentral/fileexchange/84560-fdb-sdo-an-improved-version-of-supply-demand-optimizerLRFDB-COA (An improved version of Coyote Optimization Algorithm)Levy flight and FDB-based coyote optimization algorithm for global optimization https://www.mathworks.com/matlabcentral/fileexchange/87864-lrfdb-coaFDB-SFS (An improved version of Stochastic Fractal Search Algorithm)https://www.mathworks.com/matlabcentral/fileexchange/84405-fdb-sfs

generateDataSummaryA MATLAB/Octave function which generates 2D data clusters. Data iscreated along straight lines, which can be more or less paralleldepending on the selected input parameters.Synopsis[data, clustPoints, idx, centers, angles, lengths] = ... generateData(angleMean, angleStd, numClusts, xClustAvgSep, yClustAvgSep, ... lengthMean, lengthStd, lateralStd, totalPoints, ...)Input parametersRequired parametersParameterDescriptionangleMeanMean angle in radians of the lines on which clusters are based. Angles are drawn from the normal distribution.angleStdStandard deviation of line angles.numClustsNumber of clusters (and therefore of lines) to generate.xClustAvgSepAverage separation of line centers along the X axis.yClustAvgSepAverage separation of line centers along the Y axis.lengthMeanMean length of the lines on which clusters are based. Line lengths are drawn from the folded normal distribution.lengthStdStandard deviation of line lengths.lateralStdCluster "fatness", i.e., the standard deviation of the distance from each point to its projection on the line. The way this distance is obtained is controlled by the optional 'pointOffset' parameter.totalPointsTotal points in generated data. These will be randomly divided between clusters using the half-normal distribution with unit standard deviation.Optional named parametersParameter nameParameter valuesDefault valueDescriptionallowEmptytrue, falsefalseAllow empty clusters?pointDist'unif', 'norm'unifSpecifies the distribution of points along lines, with two possible values: 1) 'unif' distributes points uniformly along lines; or, 2) 'norm' distribute points along lines using a normal distribution (line center is the mean and the line length is equal to 3 standard deviations).pointOffset1D, 2D2DControls how points are created from their projections on the lines, with two possible values: 1) '1D' places points on a second line perpendicular to the cluster line using a normal distribution centered at their intersection; or, 2) '2D' places point using a bivariate normal distribution centered at the point projection.Return valuesValueDescriptiondataMatrix (totalPoints x 2) with the generated data.clustPointsVector (numClusts x 1) containing number of points in each cluster.idxVector (totalPoints x 1) containing the cluster indices of each point.centersMatrix (numClusts x 2) containing line centers from where clusters were generated.anglesVector (numClusts x 1) containing the effective angles of the lines used to generate clusters.lengthsVector (numClusts x 1) containing the effective lengths of the lines used to generate clusters.Usage examplesBasic usage[data cp idx] = generateData(pi / 2, pi / 8, 5, 15, 15, 5, 1, 2, 200);The previous command creates 5 clusters with a total of 200 points, witha mean angle of π/2 (std=π/8), separated in average by 15 units in bothx and y directions, with mean length of 5 units (std=1) and a"fatness" or spread of 2 units.The following command plots the generated clusters:scatter(data(:, 1), data(:, 2), 8, idx);Using optional parametersThe following command generates 7 clusters with a total of 100 000 points.Optional parameters are used to override the defaults.[data cp idx] = generateData(0, pi / 16, 7, 25, 25, 25, 5, 1, 100000, ... 'pointDist', 'norm', 'pointOffset', '1D', 'allowEmpty', true);The generated clusters can be visualized with the same scatter command usedin the previous example.Reproducible cluster generationTo make cluster generation reproducible, set the random number generator seedto a specific value (e.g. 123) before generating the data:rng(123);For GNU Octave, use the following instructions instead:rand("state", 123);randn("state", 123);Previous behaviors and reproducibility of resultsBefore v2.0.0, linessupporting clusters were parameterized with slopes instead of angles. We foundthis caused difficulties when choosing line orientation, thus the change toangles, which are much easier to work with.Version v1.3.0 stilluses slopes, for those who prefer this behavior.For reproducing results in studies published before May 2020, use versionv1.2.0 instead.Subsequent versions were optimized in a way that changed the order in whichthe required random values are generated, thus producing slightly differentresults.ReferenceIf you use this function in your work, please cite the following reference:Fachada, N., & Rosa, A. C. (2020).generateData—A 2D data generator.Software Impacts, 4:100017. doi: 10.1016/j.simpa.2020.100017Multidimensional alternativeThe MOCluGen toolbox extendsgenerateData with arbitrary dimensions and statistical distributions.Therefore, generateData offers a limited subset of the functionality providedby MOCluGen, although it's probably simpler to use.LicenseThis script is made available under the MIT License.

MATLAB code to derive the network graph of a 3D voxel skeletonThis function converts a 3D binary voxel skeleton into a network graph described by nodes and edges. The input is a 3D binary image containing a one-dimensional voxel skeleton, generated e.g. using the "Skeleton3D" thinning function available on MFEX. The output is the adjacency matrix of the graph, and the nodes and links of the network as MATLAB structure.Usage:[A,node,link] = Skel2Graph(skel,THR)where "skel" is the input 3D binary image, and "THR" is a threshold for the minimum length of branches, to filter out skeletonization artifacts.A is the adjacency matrix with the length of the links as matrix entries, and node/link are the structures describing node and link properties.A node has the following properties:- idx List of voxel indices of this node- links List of links connected to this node- conn List of destinations of links of this node- comX,comY,comZ Center of mass of all voxels of this node- ep 1 if node is endpoint (degree 1), 0 otherwiseA link has the following properties:- n1 Node where link starts- n2 Node where link ends- point List of voxel indices of this linkA second function, "Graph2Skel3D.m", converts the network graph back into a cleaned-up voxel skeleton image.An example of how to use these functions is given in the script "Test_Skel2Graph3D.m", including a test image. In this example, it is also demonstrated how to iteratively combine both conversion functions in order to obtain a completely cleaned skeleton graph.Any comments, corrections or suggestions are highly welcome. If you include this in your own work, please cite our publicaton [1].Philip Kollmannsberger 09/2013, 01/2016philipk@gmx.net[1] Kollmannsberger, Kerschnitzki et al.,"The small world of osteocytes: connectomics of the lacuno-canalicular network in bone."New Journal of Physics 19:073019, 2017.

Welcome to m2docgenThis program converts the header of matlab code files into HTML documents and adds those to the matlab documentation.Installing:After downloading you will find a MATLAB "Toolbox" File - ".mltbx". Double-click on it to install the toolbox in MATLAB.Please Note: By installing the toolbox, the code will be stored in the default folder defined by MATLAB!Getting StartedTo export your own folder with code files to the matlab documentation, copy and modify the file run_m2docgen_example.m (located in the "help" folder) according to its header. At a minimum, change these options in the 'opts' structure :.toolboxName - A custom name of your toolbox/foldermFolder - total path to your toolbox/folderoutputFolder - total path to the folder where the documentation should be storedexcludeFolder - Optional: Exclude one/many folder name(s) of the documentation (exact folder name required, not path).toc - Optional: If empty, the documentation structure will be mirrored from the subfolder / real folder structure. If you want a custom structure, read "Your own toc structure".The "header" of a function is defined as the comment lines that appears right after the function definition line and ends with the first line that ist NOT a comment line (e.g. emtpy line or code line).Make sure that your code headers have a similar structure like the examples in the "Templates" folder.It is highly recommended to create sections starting with "%%". These are displayed as blocks in the documentation.Your own toc stuctureThe menu on the left side of the matlab documentation is the "table of content" (toc) structure. By default (if no opts.toc is set), the folder structure will be used as basis for the menue/toc. However, this can be influenced by assigning a special cell to opts.toc. This allows you to merge folders, change folder names and their positions in the toc structure. Read the 'custom structure' help site for an example of how to define a custom structure for your documentation.CustomizationYou can customize the resulting HTML documents by modifying the files in the "Templates" folder. For example, the header & footer text and the logo can be changed.Tipsm2docgen focuses on the headers of functions and not on the code. Thus code lines and comment-blocks inside a function will NOT be documented.The custom documentation is only visible in the matlab help center if the target export folder is added to the matlab path. m2docgen does this step for you, but it can never hurt to check...The conversion of matlab live scripts to html documents is really slow and does not follow the customisation settings, so avoid it when possible.This toolbox relies on "%%" to identify heading sections, so use them in the header to segment the documentation site.If you want to define a custom page for one of the table of content (TOC) headings, first define the heading in toc structure in the opts. Then create your custom live script and put it somewhere in the source folder. Make sure that the name of the toc heading and the live script name are compatible with matlabs variable naming scheme. Example: The first heading in the TOC structure is defined as "Welcome_to_m2docgen". I created a live script (this one) with the exact same name and put it somewhere in the source folder. If the toc name or file name would include spaces, then the associated file could not be assigned to this landing page.The generation of the search database sometimes fails. Go to the folder, where the info.xml is stored, move one folder up, remove the folder and subfolders from the active search path, add it back and then run the script again.On that note: Make sure to have m2docgen added to the matlab path before running it.Example: Documentation of m2docgenAs an example, you can view the documentation of this toolbox. Make sure, that the toolbox folder is added to the search path! Open the MATLAB Documenation by typing "doc" in the Command Window. Scroll down in the "Contents" Menü. There should be a subheading called "Supplemental Software". Below this heading, you will find the "m2docgen Toolbox". Click on it and you will see the documenation generated by m2docgen. Note that you can also use the "Search Function" to search for functions.If you want to test m2docgen - just run the script run_m2docgen_example.m (located in help folder). This will create the documentation. For testing you can then change some options or create your own toc structure.Example: Function and Documentation function out = doubled(in)% Here is the short description%% Syntax% out = doubled(in)%% Input% in [double] - value to be twiced%% Output% out [double] - twice the input - 2*in%% Disclaimer% (c) 2021%%% Codeout = 2*in;endIn this example m2docgen will read and create a html file with the following information. Note: The Section "%% Code" will not be documented since the header ends with the empty line. As described above, m2docgen focuses on the documentation of the header only - not on the code.Short Description Here is the short description Syntax out = doubled(in)Input in [double] - value to be twicedOutput out [double] - twice the input - 2*inDisclaimer (c) 2021SupportA brief overview of the general structure of the m2docgen process can be found in the help folder.When encountering problems you can either read this documentation or contact one of the following persons:Technical Questions: Nils Böhnisch, M.Sc. Technical Questions: Pierre Ollfisch, B.Sc. Mail: m2docgen@outlook.comDisclaimer Copyright (c) 2020 Nils Böhnisch, Pierre Ollfisch. This file is part of m2docgen.m2docgen is free software: you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation, either version 3 of the License, orany later version. Also see the file "License.txt".

DGTtool for computing STFT/DGTA simple and user-friendly MATLAB tool for computing the short-time Fourier transform (STFT) and the discrete Gabor transform (DGT). It is designed to be easy and fast for practical use.The following features of DGTtool might be different from the other tools:Parameters are stored inside DGTtool object for user-friendliness.All pre-computation runs only once so that repeated computation of DGT/STFT is fast.Many computations run in parallel for all channels (for multi-channel signal).Perfect reconstruction is very easily realized.Number of frequency bins can be smaller than the window length.Dual and tight windows can be computed easily.Sparse time-frequency representation (reassigned spectrogram) is implemented.Phase visualization tool (plotPhase) is implemented.STFT/DGT can be written in an operator form.How to UseDownload DGTtool.m and place it in the Current Folder.1. Create DGTtool objectCreate a DGTtool object F by specifying its parameters.F = DGTtool('windowShift',500,'windowLength',1500,'FFTnum',2000,'windowName','Blackman')(Note: This step can be done without parameters: F = DGTtool. Unspecified parameters are set to default values.)2. Compute spectrogramCompute a spectrogram X from a signal x.X = F(x);3. Convert spectrogram back to signalCompute the signal x from its spectrogram X.x = F.pinv(X);4. Visualize spectrogramThree visualization functions are implemented. A spectrogram is computed and plotted from a time-domain signal x (and sampling frequency fs, optional).F.plot(x,fs)F.plotPhase(x,fs)F.plotReassign(x,fs)DocumentationTo check all functions in DGTtool, please read and run demo.m.help DGTtoolanddoc DGTtoolprovide detailed usage.

•A hybrid metaheuristic optimization algorithm that combines strong points of firefly and particle swarm algorithms. •A local search strategy is proposed by controlling previous global best fitness value. Please cite : İbrahim Berkan Aydilek, A hybrid firefly and particle swarm optimization algorithm for computationally expensive numerical problems, Applied Soft Computing, Volume 66, May 2018, Pages 232-249

Collection of MATLAB implementations of Generative Adversarial Networks (GANs) suggested in research papers. It includes GAN, conditional-GAN, info-GAN, Adversarial AutoEncoder, Pix2Pix, CycleGAN and more, and the models are applied to different datasets such as MNIST, celebA and Facade.

Line-Profile Analysis Software (LIPRAS)AuthorsGiovanni Esteves, Klarissa Ramos, Chris M. Fancher, and Jacob L. JonesContact InfoEmail: gesteve@ncsu.edu or gesteves21@gmail.com Please include "LIPRAS" in subject History: The backbone of the code was originally created by Jacob L. Jones when he was a post doc back in 2006-2007. In 2014, Chris M. Fancher continued development of the code created by Jacob and successfully turned it into a class file within MATLAB. Giovanni Esteves further built upon Chris's version by polishing the code and adding features to enhances its feasibility to new users. Finally, in 2016 Klarissa Ramos joined the Jones Research group and jointly with Giovanni they restructured the class file into a graphical user interface (GUI) which is now known as LIPRAS.What is LIPRAS?LIPRAS [LEEP-ruhs], short for Line-Profile Analysis Software, is a graphical user interface for least-squares fitting of Bragg peaks in powder diffraction data. For any region of the inputted data, user can choose which profile functions to apply to the fit, constrain profile functions, and view the resulting fit in terms of the profile functions chosen. A Bayesian inference analysis can be carried out on the resulting least-squares result to generate a full description of the errors for all profile parameters.Features in LIPRAS Why use LIPRAS? You can use LIPRAS to visualize and analyze diffraction data. Quickly extract relevant peak information about the position, full width at half maximum (FWHM), and intensity Conduct Bayesian inference on least-squares results using a Markov Chain Monte Carlo algorithm Customize the background fit by either treating it separately (Polynomial or Spline) or including it in the least-squares routine (Polynomial only) Can analyzes files with a different number of data points and/or X-values, however, check fitting range before attempting Fit up to 20 peaks in the current profile region Choose from 5 peak-shape functions: Gaussian, Lorentzian, Pseudo-Voigt, and Pearson VII, and Asymmetric Pearson VII Peak-shape functions can be constrained in terms of intensity, peak position, FWHM, and mixing coefficient Automatically calculate Cu-Kalpha2 peaks when working with laboratory X-ray data Change any of the starting fit values and instantly view a sample plot of the fit, before conducting a fit For multiple diffraction patterns, results from previous fit are subsequent starting parameters for next fit Visualize results with a plot of the resulting peak fit and residual plot Resulting coefficients values can be viewed with file number Parameters files are written to recreate fits and detail what fit parameters and profile shape functions were used Accepts the following file types: .xy, .xye, .xls, .xlsx, .fxye, .xrdml, .chi, .csv (Windows Only)InstallationMATLAB UsersRequires MATLAB 2016b, Curve Fitting Toolbox, and GUI Layout ToolboxYou can start using LIPRAS in MATLAB after downloading GUI Layout Toolbox with a MATLAB version 2016b or greater thats equipped with Curve Fitting Toolbox. The Statistics and Machine Learning Toolbox is required for Bayesian analysis, but not for peak fitting.GUI Layout Toolbox: https://www.mathworks.com/matlabcentral/fileexchange/47982-gui-layout-toolboxStand-Alone Version (NO MATLAB NEEDED)This version is not updated as often as the GitHub repository since it needs to be compiled using a specific MATLAB license on a specific computer.LIPRAS, uploaded to SourceForge:*Stand-Alone Version DownloadIf you use LIPRAS for your research, please cite it:Giovanni Esteves, Klarissa Ramos, Chris M. Fancher, and Jacob L. Jones. LIPRAS: Line-Profile Analysis Software. (2017). DOI: 10.13140/RG.2.2.29970.25282/3AcknowledgementThis website is based in part upon work supported by the National Science Foundation under Grant No. 1409399. Any opinions, findings and conclusions or recommendations expressed in this website are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).LicenseLIPRAS BSD License,Copyright (c) 2017, North Carolina State UniversityAll rights reserved.Redistribution and use in source and binary forms, with or without modification, are permitted providedthat the following conditions are met:Redistributions of source code must retain the above copyright notice, this list of conditions and thefollowing disclaimer.Redistributions in binary form must reproduce the above copyright notice, this list of conditions andthe following disclaimer in the documentation and/or other materials provided with the distribution.The names North Carolina State University, NCSU and any tradename, personal name,trademark, trade device, service mark, symbol, image, icon, or any abbreviation, contraction orsimulation thereof owned by North Carolina State University must not be used to endorse or promoteproducts derived from this software without prior written permission.THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANYEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OFMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALLTHE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESSINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICTLIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OFTHIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.