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)
PIVlab - particle image velocimetry (PIV) tool with GUIPIVlab 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.PIVlab comes with it's own unique hardware: Pulsed lasers, LEDs, synchronizers and cameras are available here: Optolution.comVideo 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/8B5M31NWlJcInstallation: https://github.com/Shrediquette/PIVlab/wiki#installation-instructionsPlease ask your questions in the PIVlab forum: http://pivlab.blogspot.de/p/forum.htmlSoftware documentation is available in the wiki: https://github.com/Shrediquette/PIVlab/wikiCode 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 MathWorksWe 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!Visit Matlabs File exchange site for PIVlab: PIVlab can be run online using MATLAB online. MATLAB online is free (after registration) with a limited usage time per user:
scGEAToolbox - a Matlab toolbox for single-cell RNA-seq data analysesView scGEAToolbox on File ExchangeQuick InstallationRun the following code in MATLAB:unzip('https://github.com/jamesjcai/scGEAToolbox/archive/main.zip');addpath('./scGEAToolbox-main');Getting Started Quickly Using the SCGEATOOL AppRun the following code in MATLAB to start:scgeatoolRead DocumentationscGEAToolbox DocumentationSEE ALSO - Standalone Application SCGEATOOL :: Single-Cell Gene Expression Analysis ToolSCGEATOOL is a standalone application running on Windows machines that do not have MATLAB installed. SCGEATOOL is a lightweight and blazing fast desktop application that provides interactive visualization functionality to analyze single-cell transcriptomic data. SCGEATOOL allows you to easily interrogate different views of your scRNA-seq data to quickly gain insights into the underlying biology. SCGEATOOL is a pre-compiled standalone application developed in MATLAB. Pre-compiled standalone releases are meant for those environments without access to MATLAB licenses. Standalone releases provide access to all of the functionality of the SCGEATOOL standard MATLAB release encapsulated in a single application. SCGEATOOL is open-sourced to allow you to experience the added flexibility and speed of the MATLAB environment when needed.HelpIf you have any questions or require assistance using scGEAToolbox, please contact me.CitationCai JJ. scGEAToolbox: a Matlab toolbox for single-cell RNA sequencing data analysis. Bioinformatics. 2019;btz830. doi:10.1093/bioinformatics/btz830
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 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 and movie recording, utilizing the GStreamer multi-media framework.• Video capture and live display, including GPU post-processing of live video, also with precisely timedcontrol of professional class IIDC compliant Firewire and USB-Vision machine vision video cameras and synchronized multi-camera setups (Linux only for IIDC cameras).• Drawing of 3D stimuli via direct low level OpenGL commands and via a high level 3D engine.• Stereoscopic presentation, supporting different stereoscopic display techniques, including support for some head tracked VR headsets, e.g., from Oculus VR.• Presentation of stimuli with high color/luminance/contrast precision on a wide range of suitable displayhardware for bit depths beyond the typical 8 bits per color range, up to 16 bits per color channel withsome equipment.• High Dynamic Range (HDR) stimulus display on Linux, and MS-Windows, and with more limitations on macOS 10.15.• 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 some 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 10 only - on multitouch touchscreens. Different common response button boxes and eye trackers are also supported, as well as auditory response collection.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.3-LTS or later). 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 recommended, macOS 11 not 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.
MPLAB Device Blocks for SimulinkMPLAB Device Blocks for Simulink target boards equipped with a dsPIC ®️, PIC32 ®️, SAMx2, SAMx5 or SAMx7.This support package is functional from Matlab R2015a up to current version (R2023b).Installation / Updateclean previous installationpicclean at MATLAB prompt orusing the add-on menu.InstallationAdd-on menu: earch for "MPLAB" or "MPLAB Device Block for Simulink".The live script opening at end of installation allows to check system configuration: Compiler and programming interface (MPLAB X IDE). Link to download theses tools from Microchip are provided.With older matleb release, download from github and run install.p script.Commandspicclean: 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 chipspicInfo('examples'): copy example in current working folderpicInfo('cmd'): list commandVisit the Microchip blockset forumPresentationLibrary 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.FeaturesBuilt-in scheduler including multi-tasking or single-tasking option for multi-rate models implementation.Advanced configuration of ADC / PWM peripheral enable PMSM motor algorithm where ADC sample time is triggered precisely within a PWM duty-cycle. The time step might also be triggered by end of ADC conversion minimizing delays.A custom protocol allows visualizing and recording data through the UART. The custom picgui interface allows plotting using your own matlab script incoming data in real-time. 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 advanced MathWorks features:Processor in the loop (PIL)External mode.Code replacement to benefit from DSP architecture of dsPICThis 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.RequirementsMathWorks (from R2015a to R2023b)MatlabSimulinkEmbedded CoderMatlab CoderSimulink CoderMicrochip IdeMPLAB X IDE downloadMicrochip Compiler:xc16 compiler for 16 bits devices download (dsPIC)xc32 compiler for 32 bits devices download (PIC32, SAMx5, SAMx7)Microchip programmer:PicKit4ICD4J-32Snap programmerReal-IcePicKit3ICD3Microchip kit Embedded programmer (EDBG)...Release notesv3.54fixed: xc-dsc not found on linuxfixed: MPLAB blocks might not show-up in the simulink libraryv3.53Early support for dsPIC33CK64CDVL106Fixed dsPIC UART Half duplex driver issue with some chipFixed one error with external modev3.52Added xc-dsc compiler suport for dsPIC. xc16 suport will continueAdded unused code removal option taking place at linker stageAdded motor control examples from INSA Lyon University (France)added ADC block for SAMRH707Refactor dsPIC scheduler code enabling further compiler optimization efficiencyImproved DFP automatic path updateFixed virtual pin not showing upFixed code for SPI on dsPIC with 4 byte internal SPI buffer instead of 8Fixed scheduler issue on dsPIC for single tasking implementation with at least one asynchronous task (user interrupt) setFixed UART issue with rtiostream when using DMA implementationOther minor fixesv3.51Added some options on UART driver (dsPIC)Added virtual pin connection (dsPIC)SAMC21: bugfix for UART, SPI and I2CSupport for SAMRH707Fixed compatibility issue with Matlab R2023bImproved support for external mode with older releaseFixed external mode UART driver using a DMA circular buffer on dsPICv3.50.35Added board templates forLVMC (dsPIC33CK256MP508)MCLV-48V-300WdsPIC33CK256MP508 DIM (internal & external Op-Amp)dsPIC33CK64MC105 DIM (internal & external Op-Amp)MCLV2dsPIC33CK256MP508 PIM (internal & external Op-Amp)dsPIC33CK64MC105 PIM (internal & external Op-Amp)dsPIC33EP256MC506 (external Op-Amp)Power Tool reference design (dsPIC33CK64MP105)improved linux compatibilityadded UART linux compatible baudratesfixed UxV third part tool with blocks for GPS, Receiver, Telemetry, Mavlink...bugfixes (dsPIC):QEI: error on first block GUI openingFixed blocks behaviour when placec in a masked subsystemfixed DOC block to download & access MCU datasheetUART: GUI provide number of internal chip buffer sizeremoved some warning related to fast Memcpy functionADC 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 driverv3.50.33External mode:Fixed single tasking implementation with XCPclean dsPIC CK PWM start and stopimproved interface when Host UART is not set prior to start external modeRemove 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 transposedfixed linux issue when toolbox was installed in a path containing parenthesis like "(1)"improved custom linker script path issue in specifics conditionsv3.50.32fixed one typo within package causing issue with SAM new CAN block and dsPIC UART Circular buffer DMA driver.v3.50.31revert 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.30Fixed program not starting until disconnecting programmer / press reset button if availablevarious fixes on XCP and UART DMA driver for dsPICv3.50.29Added Microchip toolstirpAdded CAN support for SAME7Updated QDEC quadrature function block for SAMxadded UART Circular buffer with DMA on dsPICFixed PIC32 SPI SCK2 missing mappingFixed pin mapping errors with dsPIC / PIC32Upated External mode XCP support on dsPICv3.50.27added support for dsPIC32MK EFE/EFF/EFK familysupport SPI on SAMx7support I2C on SAMx7Fixed 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 chipsImproved PIL support with Test HarnessFixed Low priority interrupt with PIC32MZ that might trig an exceptionv3.50.26fixed SPI code not generated with PIC32v3.50.25PIL: Added support for PIL Top-Model and PIL Referenced Model approachv3.50.24Added dsPIC CK 128 & 256Fixed code Replacement for dsPIC not compiling in debug mode -O0 optionPIC32 ADC High Speed SAR fixed channel of class 3 below 32 were handled as class 2 (break compilation)v3.50.23missing file for Code Replacement for the dsPIC atan2 functionv3.50.22Improved PIL on LinuxFixed 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 MCdsPIC Improved Code Replacement accuracy. Fix one typo preventing compilation in rare casesdsPIC, Code replaced (sin, cos, atan2) works with revolution unit, not limited to radian.v3.50.20Updated datasheet block to locate pdf from Microchip websiteFixed 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 compilingFixed SAMx7 analog pin configuration that might have a bias due to internal peripheral connectionImprove compatibility with protected IP submodelImproved PIl supportExperimental support for dsPIC CK MCv5.50.19Programming 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 mismatchPIL UART interface compatible with USB-COM port available on kits. Enabling host data flow controlv5.50.18SAMx7: Fixed USART generated code typo with interrupt implementationdsPIC CK: Fixed Change Notification User Interrupt triggered twiceImproved UART block User InterfaceSAMx7: Add Fuse configuration ensuring Fuse get programmedSAMx7: Disable ICE functions on PORT B when pin is used for another purposeSAMx: Add compilation of intermediate model (library)Add PIL and External Mode example for Xplained Ultra boardUpdate Installerv3.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 settingsMatlab R2021b: code generator report not showing-up. Renamed compilation from .X to _XImproving DFP & CMSIS search scriptSAMx7 ADC: remove pull-up on analog chanelsSAMx5 UART: add distinct priority for Tx & RxSAMx5 UART: some baudrate setting were not working (no output)SAMx: removed register keyword wich might cause issue at compilationdsPIC PWM FEP: not working wheh channel 1 were not useddsPIC with dual core: always re-compile Main model code required.dsPIC: fixed code generated issue with SPI peripheraldsPIC: remove default fuse set for Brown Out resetdsPIC: fixed short double setting in MPLAB X projectImproved MPLAB X project creationExternal mode: Add XCP protocol option (experimental)v3.50.13:dsPIC CH (dual core): Fixed Main/Secondary Interface. MSI Fuse not configuredv3.50.12:SAMx: Fixed Link Time Optimizer incorrect syntaxSAMx: Added CAN example for SAMx7SAMx: Optimized DCache updateSAMx7: Fixed typo on UART Tx when set with DMA & single bufferv3.50.11:Improved robustness for long or special path with Windows & LinuxSAMx7 QDEC peripheral: added Index edge optionv3.50.10:dsPIC CH update Slave->Secondary call convention for XC16 1.70v3.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 boardFixed SAMx7 AFEC (ADC) possible issue with channel inversion (wrong block outputs)SAMx7 improved library inclusion in MPLAB X projectv3.50.08:Added SPI & I2C Support for SAMx2 & SAMx5picflash issue when multiple MPLAB X above v5.45 installedSAMx5 Number of UART listed might be incorrectSAMx5 ADC Time Step Trigger Parameters lost when model is savedSAMx 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 timeSAMx 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 effectSAMx7 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 instantiationFixed 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/libraryLinux: CMSIS DSP lib failed at compilation timeMPLAB X project not created (R2020b, SAMx7)v3.50.04:Added SAMx7 PWM Override blockSAMx 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 & SAMx2Enabled CMSIS DSP library link optionFixed SAMx7 PWM1 trigger not set on ADC depending on PWM0 and on blocks PWM0/1 execution orderv3.50.01:Fixed UART DMA Tx implementation for SAMx7v3.50Support SAM C2x / D2x / DA1SAMx5 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 R2021adSPIC 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 installedImproved Simulink compiler option set in MPLAB project created.Improve doc block ability to locate online chip datasheetpicgui updatev3.49.02PWM HS FEP fixed several issuesprogramming interface update. overall speed improvementSupport Seeger programming hardware (J-32 / J flash Seeger driver)...v3.49.01:Fixed PIL issue with dsPIC / R2018bv3.49:Updated External-Mode & PIL. Added examplesSAMx scheduler robust to overloadPICGUI: data visualisation run in backgroundMPLAB X project creation is more robustdsPIC UART Driver update (typo fixed, robust in idle tasks sending data)dsPIC EV watch dog setting fixedTask State block fixed pin settinf for SAMxUpdate makefile with R2020b templatedsPIC 30f default fuse value is not 1 by default. Write all fusesdsPIC CK/CH fixed code replacement FastMemCpy implementationdsPIC CCPx timer typo for some blocks that use timerUpdated PIC32 IPL switch functionv3.48:Added SPI & I2C for SAMx5 familyADC for SAMx5: fixed AIN0 channel input not workingAdded 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 chipRelaxed conditions triggering SINCOS Code Replacement.v3.47.00:Added SPI support for dsPIC GS, CH, CKFixed pin mapping inconsistency on dualcore dsPIC for Secondary CoreFixed generic issue with former Matlab releaseFixed MPLAB X project creation with R2019av3.46.064:Improved SAMx5 support. Added SPI supportFixed issue with dual core dsPIC support. Renamed core appelation with Main and Secondary.Fixed MPLAB X project not created with R2020bAdded PIC32 GPK MCG and GPGv3.46.063:Support for SAMx5 famillyFixed search issue for recent XC compilersSupport external CMSIS and DFP packagesRenamed 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 interfacev3.46.02:SPI fixed DMA support for PIC32. Added 8 bit mode with DMA enabled for dsPICv3.46.01:Programmer interface (Java might not be found)SAMx7 chip issues with doc block ; MPLAB X projectInstaller 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 CHv3.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 PIC32Fixed 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 modelsv3.45.03:Fixed wrong heap linker flag at command line for PIC32 when using Compiler Option blockFixed 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/06Added support for SNAP and PICKIT 4 programmer with MDB interfaceRemoved files generated by programmer interface (MDB or IPE) in working folder.Fixed some issue with SAMx70 and SAMx71 familyReduced Wait State for SAMVUpdated motor example for SAME70 PIM with MCLV2 boardAdded missing dsPIC33CKImproved compatibility with Matlab R2010aExtended block GUI text fields which can evaluate workspace variablesUxV toolbox: improved compatibility with R2010aSupported MCUs (627)dsPIC30F30F201030F201130F201230F301030F301130F301230F301330F301430F401130F401230F401330F501130F501330F501530F501630F601030F601130F601230F601330F601430F6015PIC32MK GPG32MK0256GPG04832MK0256GPG06432MK0512GPG04832MK0512GPG064PIC32MK MCJ32MK0256MCJ04832MK0256MCJ06432MK0512MCJ04832MK0512MCJ064PIC32MK GPK32MK0512GPK06432MK0512GPK10032MK1024GPK06432MK1024GPK100PIC32MK MCF32MK0512MCF06432MK0512MCF10032MK1024MCF06432MK1024MCF100PIC32MK MCM32MK0512MCM06432MK0512MCM10032MK1024MCM06432MK1024MCM100PIC32MZ EFE32MZ0512EFE06432MZ0512EFE10032MZ0512EFE12432MZ0512EFE14432MZ1024EFE06432MZ1024EFE10032MZ1024EFE12432MZ1024EFE144PIC32MZ EFF32MZ0512EFF06432MZ0512EFF10032MZ0512EFF12432MZ0512EFF14432MZ1024EFF06432MZ1024EFF10032MZ1024EFF12432MZ1024EFF144PIC32MZ EFK32MZ0512EFK06432MZ0512EFK10032MZ0512EFK12432MZ0512EFK14432MZ1024EFK06432MZ1024EFK10032MZ1024EFK12432MZ1024EFK144PIC32MZ EFG32MZ1024EFG06432MZ1024EFG10032MZ1024EFG12432MZ1024EFG14432MZ2048EFG06432MZ2048EFG10032MZ2048EFG12432MZ2048EFG144PIC32MZ EFH32MZ1024EFH06432MZ1024EFH10032MZ1024EFH12432MZ1024EFH14432MZ2048EFH06432MZ2048EFH10032MZ2048EFH12432MZ2048EFH144PIC32MZ EFM32MZ1024EFM06432MZ1024EFM10032MZ1024EFM12432MZ1024EFM14432MZ2048EFM06432MZ2048EFM10032MZ2048EFM12432MZ2048EFM144dsPIC33CH MP33CH1024MP30533CH1024MP30633CH1024MP30833CH1024MP40533CH1024MP40633CH1024MP40833CH1024MP41033CH1024MP41233CH1024MP60533CH1024MP60633CH1024MP60833CH1024MP70533CH1024MP70633CH1024MP70833CH1024MP71033CH1024MP71233CH128MP20233CH128MP20333CH128MP20533CH128MP20633CH128MP20833CH128MP50233CH128MP50333CH128MP50533CH128MP50633CH128MP50833CH256MP20533CH256MP20633CH256MP20833CH256MP21833CH256MP50533CH256MP50633CH256MP50833CH512MP20533CH512MP20633CH512MP20833CH512MP30533CH512MP30633CH512MP30833CH512MP40533CH512MP40633CH512MP40833CH512MP41033CH512MP41233CH512MP50533CH512MP50633CH512MP50833CH512MP60533CH512MP60633CH512MP60833CH512MP70533CH512MP70633CH512MP70833CH512MP71033CH512MP71233CH64MP20233CH64MP20333CH64MP20533CH64MP20633CH64MP20833CH64MP50233CH64MP50333CH64MP50533CH64MP50633CH64MP508dsPIC33CK MP33CK1024MP40533CK1024MP40633CK1024MP40833CK1024MP41033CK1024MP70533CK1024MP70633CK1024MP70833CK1024MP71033CK128MP20233CK128MP20333CK128MP20533CK128MP20633CK128MP20833CK128MP50233CK128MP50333CK128MP50533CK128MP50633CK128MP50833CK256MP20233CK256MP20333CK256MP20533CK256MP20633CK256MP20833CK256MP30533CK256MP30633CK256MP30833CK256MP40533CK256MP40633CK256MP40833CK256MP41033CK256MP50233CK256MP50333CK256MP50533CK256MP50633CK256MP50833CK256MP60533CK256MP60633CK256MP60833CK256MP70533CK256MP70633CK256MP70833CK256MP71033CK32MP10233CK32MP10333CK32MP10533CK32MP20233CK32MP20333CK32MP20533CK32MP20633CK32MP50233CK32MP50333CK32MP50533CK32MP50633CK512MP30533CK512MP30633CK512MP30833CK512MP40533CK512MP40633CK512MP40833CK512MP41033CK512MP60533CK512MP60633CK512MP60833CK512MP70533CK512MP70633CK512MP70833CK512MP71033CK64MP10233CK64MP10333CK64MP10533CK64MP20233CK64MP20333CK64MP20533CK64MP20633CK64MP20833CK64MP50233CK64MP50333CK64MP50533CK64MP50633CK64MP508dsPIC33CK MC33CK128MC10233CK128MC10333CK128MC10533CK128MC10633CK128MC50233CK128MC50333CK128MC50533CK128MC50633CK256MC10233CK256MC10333CK256MC10533CK256MC10633CK256MC50233CK256MC50333CK256MC50533CK256MC50633CK32MC10233CK32MC10333CK32MC10533CK64MC10233CK64MC10333CK64MC105dsPIC33CK MPT33CK256MPT60833CK512MPT608dsPIC33EP GM33EP128GM30433EP128GM30633EP128GM31033EP128GM60433EP128GM70633EP128GM71033EP256GM30433EP256GM30633EP256GM31033EP256GM60433EP256GM70633EP256GM71033EP512GM30433EP512GM30633EP512GM31033EP512GM60433EP512GM70633EP512GM710dsPIC33EP GP33EP128GP50233EP128GP50433EP128GP50633EP256GP50233EP256GP50433EP256GP50633EP32GP50233EP32GP50333EP32GP50433EP512GP50233EP512GP50433EP512GP50633EP512GP80633EP64GP50233EP64GP50333EP64GP50433EP64GP506dsPIC33EP GS33EP128GS70233EP128GS70433EP128GS70533EP128GS70633EP128GS70833EP128GS80433EP128GS80533EP128GS80633EP128GS80833EP16GS20233EP16GS50233EP16GS50433EP16GS50533EP16GS50633EP32GS20233EP32GS50233EP32GS50433EP32GS50533EP32GS50633EP64GS50233EP64GS50433EP64GS50533EP64GS50633EP64GS70833EP64GS80433EP64GS80533EP64GS80633EP64GS808dsPIC33EP MC33EP128MC20233EP128MC20433EP128MC20633EP128MC50233EP128MC50433EP128MC50633EP256MC20233EP256MC20433EP256MC20633EP256MC50233EP256MC50433EP256MC50633EP32MC20233EP32MC20333EP32MC20433EP32MC50233EP32MC50333EP32MC50433EP512MC20233EP512MC20433EP512MC20633EP512MC50233EP512MC50433EP512MC50633EP512MC80633EP64MC20233EP64MC20333EP64MC20433EP64MC20633EP64MC50233EP64MC50333EP64MC50433EP64MC506dsPIC33EP MU33EP256MU80633EP256MU81033EP256MU81433EP512MU81033EP512MU814dsPIC33EV GM33EV128GM00233EV128GM00333EV128GM00433EV128GM00633EV128GM10233EV128GM10333EV128GM10433EV128GM10633EV256GM00233EV256GM00333EV256GM00433EV256GM00633EV256GM10233EV256GM10333EV256GM10433EV256GM10633EV32GM00233EV32GM00333EV32GM00433EV32GM00633EV32GM10233EV32GM10333EV32GM10433EV32GM10633EV64GM00233EV64GM00333EV64GM00433EV64GM00633EV64GM10233EV64GM10333EV64GM10433EV64GM106dsPIC33FJ GP33FJ128GP20233FJ128GP20433FJ128GP20633FJ128GP206A33FJ128GP30633FJ128GP306A33FJ128GP31033FJ128GP310A33FJ128GP70633FJ128GP706A33FJ128GP70833FJ128GP708A33FJ128GP71033FJ128GP710A33FJ128GP80233FJ128GP80433FJ12GP20133FJ12GP20233FJ16GP30433FJ256GP50633FJ256GP506A33FJ256GP51033FJ256GP510A33FJ256GP71033FJ256GP710A33FJ32GP20233FJ32GP20433FJ32GP30233FJ32GP30433FJ64GP20233FJ64GP20433FJ64GP20633FJ64GP206A33FJ64GP30633FJ64GP306A33FJ64GP31033FJ64GP310A33FJ64GP70633FJ64GP706A33FJ64GP70833FJ64GP708A33FJ64GP71033FJ64GP710A33FJ64GP80233FJ64GP804dsPIC33FJ MC33FJ128MC20233FJ128MC20433FJ128MC50633FJ128MC506A33FJ128MC51033FJ128MC510A33FJ128MC70633FJ128MC706A33FJ128MC70833FJ128MC708A33FJ128MC71033FJ128MC710A33FJ128MC80233FJ128MC80433FJ12MC20133FJ12MC20233FJ16MC30433FJ256MC51033FJ256MC510A33FJ256MC71033FJ256MC710A33FJ32MC20233FJ32MC20433FJ32MC30233FJ32MC30433FJ64MC20233FJ64MC20433FJ64MC50633FJ64MC506A33FJ64MC50833FJ64MC508A33FJ64MC51033FJ64MC510A33FJ64MC70633FJ64MC706A33FJ64MC71033FJ64MC710A33FJ64MC80233FJ64MC804PIC32PIC32CM1216MC00032PIC32CM1216MC00048PIC32CM6408MC00032PIC32CM6408MC00048SAMC20SAMC20E15ASAMC20E16ASAMC20E17ASAMC20E18ASAMC20G15ASAMC20G16ASAMC20G17ASAMC20G18ASAMC20J15ASAMC20J16ASAMC20J17ASAMC20J17AUSAMC20J18ASAMC20J18AUSAMC20N17ASAMC20N18ASAMC21SAMC21E15ASAMC21E16ASAMC21E17ASAMC21E18ASAMC21G15ASAMC21G16ASAMC21G17ASAMC21G18ASAMC21J15ASAMC21J16ASAMC21J17ASAMC21J17AUSAMC21J18ASAMC21J18AUSAMC21N17ASAMC21N18ASAMD20SAMD20E14SAMD20E14BSAMD20E15SAMD20E15BSAMD20E15BUSAMD20E16SAMD20E16BSAMD20E16BUSAMD20E17SAMD20E18SAMD20E1FSAMD20G14SAMD20G14BSAMD20G15SAMD20G15BSAMD20G16SAMD20G16BSAMD20G17SAMD20G17USAMD20G18SAMD20G18USAMD20J14SAMD20J14BSAMD20J15SAMD20J15BSAMD20J16SAMD20J16BSAMD20J17SAMD20J18SAMD21SAMD21E15ASAMD21E15BSAMD21E15BUSAMD21E15CUSAMD21E15LSAMD21E16ASAMD21E16BSAMD21E16BUSAMD21E16CUSAMD21E16LSAMD21E17ASAMD21E17DSAMD21E17DUSAMD21E17LSAMD21E18ASAMD21F17LSAMD21G15ASAMD21G15BSAMD21G15LSAMD21G16ASAMD21G16BSAMD21G16LSAMD21G17ASAMD21G17AUSAMD21G17DSAMD21G17LSAMD21G18ASAMD21G18AUSAMD21J15ASAMD21J15BSAMD21J16ASAMD21J16BSAMD21J17ASAMD21J17DSAMD21J18ASAME51SAME51G18ASAME51G19ASAME51J18ASAME51J19ASAME51J20ASAME51N19ASAME51N20ASAME53SAME53J18ASAME53J19ASAME53J20ASAME53N19ASAME53N20ASAME54SAME54N19ASAME54N20ASAME54P19ASAME54P20ASAME70SAME70J19BSAME70J20BSAME70J21BSAME70N19BSAME70N20BSAME70N21BSAME70Q19BSAME70Q20BSAME70Q21BSAMRH707SAMRH707F18ASAMRH71SAMRH71F20BSAMRH71F20CSAMS70SAMS70J19BSAMS70J20BSAMS70J21BSAMS70N19BSAMS70N20BSAMS70N21BSAMS70Q19BSAMS70Q20BSAMS70Q21BSAMV70SAMV70J19BSAMV70J20BSAMV70N19BSAMV70N20BSAMV70Q19BSAMV70Q20BSAMV71SAMV71J19BSAMV71J20BSAMV71J21BSAMV71N19BSAMV71N20BSAMV71N21BSAMV71Q19BSAMV71Q20BSAMV71Q21B
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.
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
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.
% 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
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).
fieldfun: Apply a function to the matching fields of structures SummaryS = fieldfun(fun,S1,...,SN) passes the values for each field in structures S1,...,SN to function fun and returns the result in scalar structure S. Each field F in S, i.e. S.(F), is the result of fun(S1.(F),...,SN.(F)).fieldfun allows the organization of data by structure and field name while allowing the data to be easily processed according to the semantically meaninful fields, improving code readability. When only one structure is supplied, fieldfun can also be used as an alternative to structfun, the difference being that the output of structfun is an array, while fieldfun returns a structure, retaining the input format, again improving readability.Inputsfun is either a function handle or a text scalar giving the function's name or operator. The function must take N input arguments, i.e. equal to the number of input structures, and return a value. fun is called once for each field F in S1,...,SN.S1 is a scalar structure or array of structures.S2,...,SN are scalar structures, arrays of structures, or variables of any other class. If S2,...,SN are structures, their fields and field order must match S1. If S2,...,SN are not structures, then they are converted to structures, with the value being assigned to each field.OutputS is a scalar structure with the same fields and field order as S1. The value of each field F in S, i.e. S.(F), is the result of fun(S1.(F),...,SN.(F)).ExampletreatmentGroup(1) = struct( 'name', "John", 'age', 30, 'vaccinated', true );treatmentGroup(2) = struct( 'name', "Jane", 'age', 80, 'vaccinated', false );controlGroup = struct( 'name', "Jim", 'age', 50, 'vaccinated', true );allParticipants = fieldfun( @horzcat, treatmentGroup, controlGroup )allParticipants = struct with fields: name: ["John" "Jane" "Jim"] age: [30 80 50] vaccinated: [1 0 1]More examples available in examples.mlx / examples.pdf.Compatibility, License and CitationCreated in 2022b. Compatible with MATLAB release 2019b and later. Compatible with all platforms.Published under MIT License (see LICENSE.txt).Please cite George Abrahams (https://github.com/WD40andTape/fieldfun, https://www.linkedin.com/in/georgeabrahams).
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
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.
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 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.
BEAST: A Bayesian Ensemble Algorithm for Change-Point Detection and Time Series DecompositionBEAST (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). BEAST is useful for changepoint detection (e.g., breakpoints, structural breaks, 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 InstallationBEAST was impemented in C/C++ but accessible from R, Python, Matlab, and Octave. Install it as follows:Python: pip install RbeastMatlab: eval(webread('http://b.link/rbeast',weboptions('cert','')))Octave: eval(webread('http://b.link/rbeast'))R lang: install.packages("Rbeast")Quick UsageOne-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. ( 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 usinginstall.packages("Rbeast")Run and test Rbeast in RThe 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.library(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 Install the Matlab version of BEAST automatically to a local folder of your choice by runningbeastPath = '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 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 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: 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: pip install RbeastBinary 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 PythonNile is annual streamflow of the River Nile, starting from Year 1871. As annual observations, it has no periodic component (i.e., season='none').import 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 oThe 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.beach, 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). 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.ReferenceZhao, 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. 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. 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. 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 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 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.DisciplinePublication TitleRemote SensingLi, 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. Remote Sensing of Environment, 10.1016/j.rse.2022.113222Population EcologyHenderson, P. A. (2021). Southwood's Ecological Methods (5th edition). Oxford University Press., page 475-476CardiologyOzier, D., Rafiq, T., de Souza, R. and Singh, S.M., 2023. Use of Sacubitril/Valsartan Prior to Primary Prevention Implantable Cardioverter Defibrillator Implantation. CJC Open.Spatial EcologyLaurin, 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.PsychophysiologyMichela, A., 2024. The heart on duty: Training police officers in action using a biofeedback virtual-reality game (Doctoral dissertation, Sl: sn).EcologyMehri, S., Alesheikh, A.A. and Lotfata, A., 2024. Abiotic factors impact on oak forest decline in Lorestan Province, Western Iran. Scientific Reports, 14(1), p.3973.PaleoclimatologyWauthy, S., Tison, J.L., Inoue, M., El Amri, S., Sun, S., Fripiat, F., Claeys, P. and Pattyn, F., 2024. Spatial and temporal variability of environmental proxies from the top 120 m of two ice cores in Dronning Maud Land (East Antarctica). Earth System Science Data, 16(1), pp.35-58.PaleoclimatologyAnastasia 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.adg2639PhenometricsLaurin, 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 ScienceThomas, 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.Enviornmental EngineeringGanji, A., Saeedi, M., Lloyd, M., Xu, J., Weichenthal, S. and Hatzopoulou, M., 2024. Air pollution prediction and backcasting through a combination of mobile monitoring and historical on-road traffic emission inventories. Science of The Total Environment, 915, p.170075.Biomedical EngineeringSaghbiny, 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 ScienceReuning, K., Whitesell, A. and Hannah, A.L., 2022. Facebook algorithm changes may have amplified local republican parties. Research & Politics, 9(2), p.20531680221103809.GeographyLyu, 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 HydrologySakizadeh, 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.OceanographyOehlert, 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 EngineeringXu, 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 MediaBarrie, C., Ketchley, N., Siegel, A. and Bagdouri, M., 2023. Measuring Media Freedom.Political EconomyBenchimol, J. and Palumbo, L., 2023. Sanctions and Russian Online Prices.PhysiologyShakeel, 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-6IchthyologyKaeding, 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 SensingMulverhill, 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 ChemistryFaran, M. and Bisker, G., 2023. Nonequilibrium Self-Assembly Time Forecasting by the Stochastic Landscape Method. The Journal of Physical Chemistry B.Analytical ChemistrySimic, 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 SciencesLyu, 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. Ecosystem Services, 58, p.101483.Environmental SciencesNickerson, 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. Environmental Research Letters.GeologyFan, 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.WildlifeSmith, 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 SciencesDuke, 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. PLOS Climate, 1(8), p.e000003FinanceCandelaria, 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-3w10Public healthLinnell, 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. arXiv preprint arXiv:2205.15937.BiometerologyLi, 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. Science of The Total Environment, 802, p.149651.Applied MathFerguson, Daniel, and Francois G. Meyer. Probability density estimation for sets of large graphs with respect to spectral information using stochastic block models. arXiv preprint arXiv:2207.02168 (2022).Transportation ScienceDelavary, 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 qualityHe, 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 qualityWu, 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.HydrologyZohaib, M. and Choi, M., 2020. Satellite-based global-scale irrigation water use and its contemporary trends. Science of The Total Environment, 714, p.136719.Energy EngineeringLindig, S., Theristis, M. and Moser, D., 2022. Best practices for photovoltaic performance loss rate calculations. Progress in Energy, 4(2), p.022003.VirologyShen, 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, northwestern China. Journal of medical virology.Pharmaceutical SciencesPatzkowski, 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.GeographyCai, 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.OceanographyPitarch, 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. Earth System Science Data, 13(2), pp.481-490.PhotovoltaicsMicheli, 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 SciencesWhite, J.H., Walsh, J.E. and Thoman Jr, R.L., 2021. Using Bayesian statistics to detect trends in Alaskan precipitation. International Journal of Climatology, 41(3), pp.2045-2059.Field HydrologyMerk, M., Goeppert, N. and Goldscheider, N., 2021. Deep desiccation of soils observed by long-term high-resolution measurements on a large inclined lysimeter. Hydrology and Earth System Sciences, 25(6), pp.3519-3538.Forest EcologyMoreno-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 SciencesTingwei, 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 ecologyDashti, 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. Agricultural and Forest Meteorology, 297, p.108270.StatisticsStorath, M. and Weinmann, A., 2023. Smoothing splines for discontinuous signals. Journal of Computational and Graphical Statistics, (just-accepted), pp.1-26.Environmental EngineeringBainbridge, 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.HydrologyYang, 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 EcologyAdams, 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.
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)
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/
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.
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.
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
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.
AboutThe Speedgoat Real-Time Driver-in-the-Loop Simulator demonstrates how to immerse the driver into compelling photorealistic 3D visualization environments in combination with the real-time simulation and high-fidelity capture of the vehicle dynamics, the behaviors of the tire and road surface. A gaming pedal and a steering wheel hardware are used for the driver input.Learn How ToUse Vehicle Dynamics Blockset™ to model complex vehicle dynamics and driving maneuversCreate real-time simulations of virtual vehicles with Simulink Real-Time™ and Speedgoat target hardware Employ Simulink’s interface to Unreal Engine® and visualize driving scenarios Set up a driving simulator with pedals and a steering wheel to perform driver-in-the loop testingGetting StartedOpen MATLAB and open Simulink Project FileClick in 'Getting Started' project shortcutFollow steps in the documentationTest System SetupWatch DemoBuilding Real-Time Driver-in-the-Loop SimulatorsLearn MoreSimscape Vehicle Templates | SpeedgoatBuilding Real-Time Driver-in-the-Loop SimulatorsAutonomous Vehicles in Driving ScenariosDownloadMATLAB R2021b: Click on "Download" button at the top of the page.MATLAB R2021aMATLAB R2020b MATLAB R2020a MATLAB R2019b
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.
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.
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 R2023b: Use Download button aboveFor 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
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
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/
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] --- A research article dedicated to the second variant of the WSS estimation method is about to come by the end of May 2024. ---
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
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.
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.
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.
DeepSqueak v3: Using Machine Vision to Accelerate Bioacoustics ResearchV3 Major UpgradesBrand New YOLO V2 based Detection ArchitechtureNavigate Entire Audio Files to Quickly & Easily Refine Detections orAdd New BoxesRetrain Existing Networks With Your Own RecordingsStart From Scratch: Hand Box Calls and Train a New Species DetectorContour Invarient Clustering With Variational Auto EncodersBrand New Clustering GUICopyright © 2021 by Ruby Marx, Kevin Coffey, Robert Ciszek, & Leonardo Lara-Valderrábano All Rights Reserved.
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".
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.
MATPOWER is a package of free, open-source Matlab-language M-files for solving steady-state power system simulation and optimization problems, such as:- power flow (PF), - continuation power flow (CPF), - extensible optimal power flow (OPF), - unit commitment (UC) and - stochastic, secure multi-interval OPF/UC.It is intended as a simulation tool for researchers and educators that is easy to use and modify. MATPOWER is designed to give the best performance possible while keeping the code simple to understand and modify.
Generalized chi-square distribution Matlab toolbox to compute the statistics, pdf, cdf, inverse cdf and random numbers of the generalized chi-square distribution.AuthorAbhranil Das, Center for Perceptual Systems, The University of Texas at Austin.Bugs/comments/questions/suggestions to abhranil.das@utexas.edu.If you use this code, please cite: A method to integrate and classify normal distributions.InstallationWithin Matlab's Home tab, select Add-Ons > Get Add-Ons > Search for 'Generalized chi-square distribution' and install.Quick StartAfter installation, begin with the Getting Started live script with interactive examples, or, at any time, go to Matlab Home tab > Add-Ons > Manage Add-Ons > click the three dots next to this toolbox > View Getting Started GuideDocumentationFor function help, type:doc gx2statdoc gx2rnddoc gx2cdfdoc gx2cdf_daviesdoc gx2cdf_imhofdoc gx2cdf_rubendoc gx2pdfdoc gx2invdoc gx2_params_norm_quad
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.