![](https://github.com/alexschimel/CoFFee/blob/master/apps/logo/coffee_banner.png?raw=true)
# *CoFFee*
Matlab toolbox for multibeam sonar data processing.
## Description
*CoFFee* is a free and open-source MATLAB toolbox (libary of functions) for reading multibeam sonar raw data files, visualizing their contents, and applying various processsing algorithms. It serves as the engine for several apps/GUIs designed for specific applications.
**IMPORTANT NOTE: This is a pre-release (v2), that is, still clunky. Use at your peril!**
## Getting Started
### Dependencies
* [MATLAB](https://au.mathworks.com/products/get-matlab.html). We are currently using R2020b, but it may work on other versions.
* Some MATLAB toolboxes (not all functions require them):
* Signal Processing Toolbox
* Mapping Toolbox
* Statistics and Machine Learning Toolbox
* Parallel Computing Toolbox
### Installing and using
* Clone or download the repository.
* Add the toolbox's folder and subfolders to the Matlab's path by adding the following lines at the top of your scripts:
```
coffeeFolder = 'C:\my\path\to\CoFFee';
addpath(genpath(coffeeFolder));
```
## Help
There is no documentation yet. Contact the authors.
## Authors
* Alexandre Schimel ([The Geological Survey of Norway](https://www.ngu.no), alexandre.schimel@ngu.no)
* Yoann Ladroit (NIWA)
* Amy Nay (CSIRO)
## Version History
[See the releases page](https://github.com/alexschimel/CoFFee/releases)
## License
Distributed under the MIT License. See `LICENSE` file for details.
## See Also
All apps based on *CoFFee*:
* [*Grounds*](https://github.com/alexschimel/Grounds): Elevation Change Analysis
* [*Espresso*](https://github.com/alexschimel/Espresso): Multibeam water-column data visualization and processing (private)
* [*Iskaffe*](https://github.com/alexschimel/Iskaffe): Multibeam backscatter quality control
* [*Kopp*](https://github.com/alexschimel/Kopp): Tracking Multibeam raw data parameter changes
## References
Articles using *CoFFee*, or apps based on *CoFFee*:
* Lucieer, V., Flukes, E., Keane, J. P., Ling, S. D., Nau, A. W., & Shelamoff, V. (2023). Mapping warming reefs — An application of multibeam acoustic water column analysis to define threatened abalone habitat. Frontiers in Remote Sensing, 4(April), 1–15. https://doi.org/10.3389/frsen.2023.1149900
* Turco, F., Ladroit, Y., Watson, S. J., Seabrook, S., Law, C. S., Crutchley, G. J., Mountjoy, J., Pecher, I. A., Hillman, J. I. T., Woelz, S., & Gorman, A. R. (2022). Estimates of Methane Release From Gas Seeps at the Southern Hikurangi Margin, New Zealand. Frontiers in Earth Science, 10(March), 1–20. https://doi.org/10.3389/feart.2022.834047
* Nau, A. W., Scoulding, B., Kloser, R. J., Ladroit, Y., & Lucieer, V. (2022). Extended Detection of Shallow Water Gas Seeps From Multibeam Echosounder Water Column Data. Frontiers in Remote Sensing, 3(July), 1–18. https://doi.org/10.3389/frsen.2022.839417
* Porskamp, P., Schimel, A. C. G., Young, M., Rattray, A., Ladroit, Y., & Ierodiaconou, D. (2022). Integrating multibeam echosounder water‐column data into benthic habitat mapping. Limnology and Oceanography, 1–13. https://doi.org/10.1002/lno.12160
* Schimel, A. C. G., Brown, C. J., & Ierodiaconou, D. (2020). Automated Filtering of Multibeam Water-Column Data to Detect Relative Abundance of Giant Kelp (Macrocystis pyrifera). Remote Sensing, 12(9), 1371. https://doi.org/10.3390/rs12091371
* Mountjoy, J. J., Howarth, J. D., Orpin, A. R., Barnes, P. M., Bowden, D. A., Rowden, A. A., Schimel, A. C. G., Holden, C., Horgan, H. J., Nodder, S. D., Patton, J. R., Lamarche, G., Gerstenberger, M., Micallef, A., Pallentin, A., & Kane, T. (2018). Earthquakes drive large-scale submarine canyon development and sediment supply to deep-ocean basins. Science Advances, 4(3). https://doi.org/10.1126/sciadv.aar3748
* Nau, A. W., Lucieer, V. L., & Alexandre Schimel, C. G. (2018). Modeling the along-track sidelobe interference artifact in multibeam sonar water-column data. OCEANS 2018 MTS/IEEE Charleston, 1–5. https://doi.org/10.1109/OCEANS.2018.8604866
* Schimel, A. C. G., Ierodiaconou, D., Hulands, L., & Kennedy, D. M. (2015). Accounting for uncertainty in volumes of seabed change measured with repeat multibeam sonar surveys. Continental Shelf Research, 111, 52–68. https://doi.org/10.1016/j.csr.2015.10.019
* Schimel, A. C. G., Healy, T. R., McComb, P., & Immenga, D. (2010). Comparison of a self-processed EM3000 multibeam echosounder dataset with a QTC view habitat mapping and a sidescan sonar imagery, Tamaki Strait, New Zealand. Journal of Coastal Research, 26(4). https://doi.org/10.2112/08-1132.1
## For developers
Please maintain the *CoFFee* coding philosophy, which is that any core functionality (raw file reading, conversion, data processing, etc.) is coded as *CoFFee* functions, so that only user-interaction functionalities (display, user interface, callbacks, etc.) are coded in apps. This allows reusing core functionalities across apps. Therefore, the development of an app requires the joint development of *CoFFee*, and since there are multiple apps built on *CoFFee*, careful version-controlling and dependency-management is necessary to avoid breaking compatibility.
We use [Semantic Versioning](https://semver.org/) to attribute version numbers:
* The version of *CoFFee* is hard-coded in function `CFF_coffee_version.m`.
* The version of an app is (usually) a static property of the app (`Version`), alongside the *CoFFee* version it was built on (`CoffeeVersion`).
A careful sequence to develop an app is the following:
1. Checkout the latest commits on the main branches of both *CoFFee* and the app you wish to develop.
2. Check if that latest version of the app uses the latest version of *CoFFee* (in the code, or warning at start-up).
3. If the app is running on an older version of *CoFFee*, fix that first:
* Start with updating the app to use that latest version of *CoFFee*.
* Before committing those changes, increase the app's version number and update which *CoFFee* version it runs on.
* After committing, remember to add the new tag on git.
4. Develop the app as you wish. Remember that all processing goes ideally in *CoFFee* and all display and user interface on the app.
5. When done, increase the app's version number (app property `Version`)
6. If *CoFFee* was modified, increase *CoFFee*'s version number (`CFF_coffee_version.m`), and update in the app which *CoFFee* version it was built on (app property `CoffeeVersion`).
7. Verify that everything works:
* In MATLAB, run `restoredefaultpath` to ensure you get a clean path.
* Delete the user folder to start from a clean slate.
* Start the app, check on the start messages that all versions are correct
* Test all features of the app.
8. Push the app up on git. Add a version tag.
9. If *CoFFee* was modified, push it up on git. Add a version tag.
10. If you wish to compile/release this new version of the app:
* Compile:
* Double-click on the app's `*.prj` file to start the Application Compiler with existing settings.
* Reset dependencies:
* Remove the app's "main file" (the `*.mlapp` file if using the app designer) to remove all the files required. This might take a few seconds.
* Remove any remaining files and folders in the list of files required.
* Add the "main file" again and wait for the application compiler to find all required files. This might take a few seconds.
* Add any other files and folders in the list of files required.
* Update the version number:
* In the setup file name ("Packaging Options" panel, "Runtime downloaded from web" field)
* In the "application information" panel
* In the "Default installation folder" field.
* Details:
* All paths in "Settings" should be in the "Espresso\bin" folder.
* Click on "Save".
* Click on "Package".
* Test that the com
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。 Matlab(Matrix Laboratory)是一种专为数值计算和科学与工程应用而设计的高级编程语言和环境。在算法开发和实现方面,Matlab具有以下一些好处: 1. 丰富的数学和科学函数库:Matlab提供了广泛的数学、信号处理、图像处理、优化、统计等领域的函数库,这些函数库可以帮助开发者快速实现各种复杂的数值计算算法。这些函数库提供了许多常用的算法和工具,可以大大简化算法开发的过程。 2. 易于学习和使用:Matlab具有简单易用的语法和直观的编程环境,使得算法开发者可以更快速地实现和测试他们的算法。Matlab的语法与数学表达式和矩阵操作非常相似,这使得算法的表达更加简洁、清晰。 3. 快速原型开发:Matlab提供了一个交互式的开发环境,可以快速进行算法的原型开发和测试。开发者可以实时查看和修改变量、绘制图形、调试代码等,从而加快了算法的迭代和优化过程。这种快速原型开发的特性使得算法开发者可以更快地验证和修改他们的想法。 4. 可视化和绘图功能:Matlab具有强大的可视化和绘图功能,可以帮助开发者直观地展示和分析算法的结果。开发者可以使用Matlab绘制各种图形、曲线、图像,以及创建动画和交互式界面,从而更好地理解和传达算法的工作原理和效果。 5. 并行计算和加速:Matlab提供了并行计算和加速工具,如并行计算工具箱和GPU计算功能。这些工具可以帮助开发者利用多核处理器和图形处理器(GPU)来加速算法的计算过程,提高算法的性能和效率
资源推荐
资源详情
资源评论
收起资源包目录
用于多波束声纳数据处理的Matlab工具箱.zip (578个子文件)
.gitignore 6B
drawSoccerBall.html 10KB
demoGeom3d.html 8KB
demoVoronoiCell.html 8KB
demoPolyhedra.html 7KB
demoDrawTubularMesh.html 5KB
demoInertiaEllipsoid.html 5KB
demoTriangulateFaces.html 4KB
demoRevolutionSurface.html 4KB
icon.ico 4KB
insphere.jpg 42KB
rect.jpg 40KB
minboundsemicircle.jpg 35KB
mincircle.jpg 31KB
incircle.jpg 27KB
tri.jpg 19KB
LICENSE 1KB
CFF_read_all_from_fileinfo.m 79KB
CFF_read_all_from_fileinfo.m 76KB
CFF_convert_ALLdata_to_fData.m 70KB
CFF_convert_all_to_mat.m 64KB
CFF_convert_ALLdata_to_fData_old.m 63KB
CFF_read_all_from_fileinfo.m 61KB
CFF_convert_ALLdata_to_fData.m 55KB
CFF_read_s7k_from_fileinfo.m 53KB
CFF_convert_xtf_to_all.m 50KB
CFF_convert_KMALLdata_to_fData.m 44KB
CFF_convert_mat_to_fabc.m 35KB
CFF_convert_S7Kdata_to_fData.m 33KB
CFF_read_EMdgmMRZ.m 28KB
CFF_convert_raw_files.m 27KB
CFF_stack_WCD.m 25KB
CFF_find_kelp.m 24KB
CFF_grid_WC_data.m 23KB
CFF_read_kmall_from_fileinfo.m 19KB
inpoly_plosone_v1.m 19KB
CFF_compute_ping_navigation_v2.m 18KB
CFF_watercolumn_display.m 17KB
CFF_all_file_info.m 17KB
CFF_mask_WC_data_CORE.m 16KB
inpaint_nans.m 15KB
CFF_inpaint_nans.m 15KB
inpaint_nans.m 15KB
CFF_filter_watercolumn.m 15KB
ascgrid.m 14KB
CFF_Comms.m 14KB
CFF_grid_WC_data.m 14KB
nearestneighbour.m 14KB
CFF_filter_WC_sidelobe_artifact.m 13KB
CFF_compute_ping_navigation.m 13KB
CFF_all_file_info.m 13KB
CFF_filelist_for_conversion.m 13KB
CFF_all_file_info.m 13KB
script_testing_footprints.m 13KB
CFF_compute_ping_navigation.m 13KB
CFF_ll2tm.m 13KB
CFF_read_all.m 12KB
Contents.m 12KB
CFF_kmall_file_info.m 12KB
CFF_filter_bottom_detect_v2.m 12KB
CFF_process_ping.m 12KB
CFF_s7k_file_info.m 11KB
minboundsphere.m 11KB
CFF_group_processing.m 11KB
CFF_filter_WC_bottom_detect.m 10KB
CFF_filter_WC_sidelobe_artifact_CORE.m 10KB
CFF_WC_radiometric_corrections_CORE.m 10KB
mergeCoplanarFaces.m 10KB
CFF_mask_WC_data.m 10KB
CFF_decode_RuntimeParameters.m 10KB
CFF_filter_WC_sidelobe_artifact.m 10KB
meshReduce.m 10KB
CFF_filter_WC_bottom_detect.m 10KB
CFF_read_EMdgmMWC.m 9KB
CFF_read_EMdgmSKM.m 9KB
CFF_initialize_WC_processing.m 9KB
CFF_filter_WC_bottom_detect.m 9KB
shape_read.m 8KB
CFF_grid_lines.m 8KB
CFF_watercolumn_sidelobe_filter.m 8KB
minboundparallelogram.m 8KB
CFF_convert_mat_to_fpbs.m 8KB
CFF_add_to_mosaic.m 7KB
CFF_mosaic_lines.m 7KB
minboundcircle.m 7KB
CFF_grid_data.m 7KB
CFF_is_parallel_computing_available.m 7KB
CFF_LOD_analysis.m 7KB
CFF_convert_all_to_mat_v2.m 7KB
CFF_read_kmall.m 7KB
CFF_read_all.m 7KB
drawCircle3d.m 6KB
CFF_georeference_bottom_detect.m 6KB
Contents.m 6KB
CFF_get_nav.m 6KB
CFF_get_WC_data.m 6KB
CFF_setup_optimized_block_processing.m 6KB
extrema2.m 6KB
CFF_list_files_in_dir.m 6KB
CFF_georeference_WC_bottom_detect.m 5KB
共 578 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
若明天不见
- 粉丝: 1w+
- 资源: 273
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功