openjournals / joss-reviews

Reviews for the Journal of Open Source Software
Creative Commons Zero v1.0 Universal
721 stars 38 forks source link

[REVIEW]: CoastalLens: A MATLAB UAV Video Stabilization and Rectification Framework #7111

Open editorialbot opened 2 months ago

editorialbot commented 2 months ago

Submitting author: !--author-handle-->@AthinaLange<!--end-author-handle-- (Athina M.Z. Lange) Repository: https://github.com/AthinaLange/CoastalLens Branch with paper.md (empty if default branch): Version: v1.1 Editor: !--editor-->@Kevin-Mattheus-Moerman<!--end-editor-- Reviewers: @kabernagelm, @chickadel Archive: 10.5281/zenodo.13958678

Status

status

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/93e63b279cbb9c733eb77fab4a425c32"><img src="https://joss.theoj.org/papers/93e63b279cbb9c733eb77fab4a425c32/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/93e63b279cbb9c733eb77fab4a425c32/status.svg)](https://joss.theoj.org/papers/93e63b279cbb9c733eb77fab4a425c32)

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer instructions & questions

@kabernagelm & @chickadel, your review will be checklist based. Each of you will have a separate checklist that you should update when carrying out your review. First of all you need to run this command in a separate comment to create the checklist:

@editorialbot generate my checklist

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @Kevin-Mattheus-Moerman know.

✨ Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest ✨

Checklists

πŸ“ Checklist for @chickadel

πŸ“ Checklist for @kabernagelm

editorialbot commented 2 months ago

Hello humans, I'm @editorialbot, a robot that can help you with some common editorial tasks.

For a list of things I can do to help you, just type:

@editorialbot commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@editorialbot generate pdf
editorialbot commented 2 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1007/s11263-006-0002-3 is OK
- 10.1016/j.softx.2020.100584 is OK
- 10.1109/TPAMI.2003.1217599 is OK
- 10.1006/cviu.1999.0832 is OK
- 10.1016/j.coastaleng.2007.01.003 is OK
- 10.1016/j.softx.2020.100582 is OK

MISSING DOIs

- No DOI given, and none found for title: Multiple view geometry in computer vision

INVALID DOIs

- None
editorialbot commented 2 months ago

Software report:

github.com/AlDanial/cloc v 1.90  T=0.05 s (1075.4 files/s, 125240.4 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
MATLAB                          51            649           2087           3344
Markdown                         2             58              0            245
TeX                              1              7              0            106
YAML                             1              1              4             18
CSV                              1              0              0              3
-------------------------------------------------------------------------------
SUM:                            56            715           2091           3716
-------------------------------------------------------------------------------

Commit count by author:

   283  Athina Lange
     3  Julia Fiedler
editorialbot commented 2 months ago

Paper file info:

πŸ“„ Wordcount for paper.md is 840

βœ… The paper includes a Statement of need section

editorialbot commented 2 months ago

License info:

βœ… License found: MIT License (Valid open source OSI approved license)

editorialbot commented 2 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

Kevin-Mattheus-Moerman commented 2 months ago

@AthinaLange, @kabernagelm, @chickadel this is where the review takes place. Let me know if you have any questions. The reviewers can get started by calling: @editorialbot generate my checklist.

chickadel commented 2 months ago

Review checklist for @chickadel

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

kabernagelm commented 2 months ago

Review checklist for @kabernagelm

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

Kevin-Mattheus-Moerman commented 1 month ago

@kabernagelm thanks for your help with this review. I see all your boxes are ticked. Let me know if you have any remaining points or if you are happy to recommend acceptance.

Kevin-Mattheus-Moerman commented 1 month ago

@chickadel thanks for your help reviewing this work. I see you have started. Are you able to resume your review? Are there any main issues you think the authors should work on? If you have minor things/issue to share you can mention them here. For more extensive issue you can open an issue on the project repository and link to them here. Thanks!

chickadel commented 1 month ago

@Kevin-Mattheus-Moerman In the demo example, the workflow wasn't clear and I couldn't get past the GCP selection step (it keeps reappearing) in the code. Was this supposed to happen? Without a manual/video of how to use the code, I can't proceed. I've opened an issue on the repository since I also can't check off a number of the review items as complete or satisfactory.

chickadel commented 1 month ago

RE: 'dependencies' in the 'installation instructions' of the 'documentation': These are listed, but it's not clear where FFMPEG should be installed, or if a complied version or the API is the needed component. RE: 'State of the field' in the 'paper', I didn;t find a section here, or an explicit statement dedicated to this. I think the reality is that this is a special case of image stabilization using in-view features, which is common, now, so there should be some references available.

AthinaLange commented 1 month ago

@chickadel The worldPose calculation of the camera extrinsics is based on a best fit approximation of the GCP locations. For the demo example, I chose the points that tend (~90% of the time) to provide a worldPose estimate immediately. The code is built to request new points if it cannot determine a pose from the initial coordinates. There is also the option to select 'No more points possible'. This option should by-pass the further requests. I have added in displayed text in the DEMO version to advise users to select the 'No more points possible.' (new line 477). Image examples of the steps can be found in the wiki here and here.

Hopefully this clears up this issue, if not, please let me know if there's a specific error that is getting thrown.

AthinaLange commented 1 month ago

@chickadel regarding ffmpeg and exiftool, these can be installed from the source code or static builds as you would any command-line application.

AthinaLange commented 1 month ago

@chickadel regarding the 'state of the field', this was addressed in the 'Statement of need' section. While the use of in-view features for stabilization is indeed widely done for a variety of fields, to our knowledge the only existing workflow/codes that exists for the stabilization, rectification and extraction of relevant products for coastal imagery is the CIRN Qualitative Coastal Imaging Toolbox and tangentially SurfRCaT. We have included the reference to these toolboxes, as well as numerous references that support the various steps of stabilization and rectification that are done in this workflow.

If you know of any other coastal imagery related stabilization and rectification workflows, we are happy to include it in our references.

Kevin-Mattheus-Moerman commented 1 month ago

@chickadel thanks for your help with this review. As you can see the authors have responded to some of the issues you raised. Are you able to pick up this review again and respond? Thanks!

Kevin-Mattheus-Moerman commented 1 month ago

@kabernagelm thanks for your help with this review. I see all your boxes are ticked. Let me know if you have any remaining points or if you are happy to recommend acceptance.

chickadel commented 1 month ago

@chickadel regarding the 'state of the field', this was addressed in the 'Statement of need' section. While the use of in-view features for stabilization is indeed widely done for a variety of fields, to our knowledge the only existing workflow/codes that exists for the stabilization, rectification and extraction of relevant products for coastal imagery is the CIRN Qualitative Coastal Imaging Toolbox and tangentially SurfRCaT. We have included the reference to these toolboxes, as well as numerous references that support the various steps of stabilization and rectification that are done in this workflow.

If you know of any other coastal imagery related stabilization and rectification workflows, we are happy to include it in our references.

@AthinaLange If you limit this to only software for strict nearshore application, yes I agree. However there's a work of SIFT (and other) based stabilization software out there for use with UAS, and I guess I was referring to that. Clearly, I'm not expecting a full review here, which is way beyond the scope, but maybe a recognition (with maybe a review article reference?) that this software addresses a corner of the possible applications for this type of work.

AthinaLange commented 1 month ago

@chickadel I see. I added in a sentence in the intro that mentions that video stabilization is a wide field and included references to two recent review articles.

kabernagelm commented 1 month ago

Keven,

I do not have any remaining points and recommend acceptance. Thanks!

V/R LT Matthew Kabernagel


From: Kevin Mattheus Moerman @.> Sent: Monday, September 16, 2024 2:23 AM To: openjournals/joss-reviews @.> Cc: Kabernagel, Matthew (LT) @.>; Mention @.> Subject: Re: [openjournals/joss-reviews] [REVIEW]: CoastalLens: A MATLAB UAV Video Stabilization and Rectification Framework (Issue #7111)

NPS WARNING: external sender verify before acting.

@kabernagelmhttps://github.com/kabernagelm thanks for your help with this review. I see all your boxes are ticked. Let me know if you have any remaining points or if you are happy to recommend acceptance.

β€” Reply to this email directly, view it on GitHubhttps://github.com/openjournals/joss-reviews/issues/7111#issuecomment-2352408117, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BKLNPQ626E6RSWL3VJ3XW7TZW2PR7AVCNFSM6AAAAABMS5KUOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJSGQYDQMJRG4. You are receiving this because you were mentioned.Message ID: @.***>

Kevin-Mattheus-Moerman commented 1 month ago

@chickadel can you pick up the review again at this point? Are you happy with the wording added by the authors?

Kevin-Mattheus-Moerman commented 1 month ago

@kabernagelm Thanks, and thanks for your help with this review!

chickadel commented 1 month ago

@Kevin-Mattheus-Moerman I'm okay with all the written parts of the paper. However, I can't verify the demo works, and it's frankly more than I have time for to diagnose where it's breaking exactly (currently it can't upload the image data to process the stabalization, which seems benign). I'm fine if the other reviewer (@kabernagelm) has verified that this code and demo work as intended.

AthinaLange commented 1 month ago

@chickadel Did you download the video from zenodo? After running 'extract_images_from_UAV.m' you should have a folder called 'images_1Hz' inside of 'DATA/20211215_Torrey/Flight_04'. The 62 images that should have been extracted should then be listed in the imageDatastore variable (line 105 of 'stabilize_video.m').

running this command, you should see that images.Files has the full path name of all the images: images = imageDatastore(fullfile(data_dir, '20211215_Torrey', 'Flight_04', 'images_1Hz'));

chickadel commented 1 month ago

Thanks @AthinaLange I was successfully able to run the code, so I'll check that off the list. @Kevin-Mattheus-Moerman I think I'm all done!

editorialbot commented 3 weeks ago

Hello @chickadel, here are the things you can ask me to do:


# List all available commands
@editorialbot commands

# Get a list of all editors's GitHub handles
@editorialbot list editors

# Adds a checklist for the reviewer using this command
@editorialbot generate my checklist

# Set a value for branch
@editorialbot set joss-paper as branch

# Run checks and provide information on the repository and the paper file
@editorialbot check repository

# Check the references of the paper for missing DOIs
@editorialbot check references

# Generates the pdf paper
@editorialbot generate pdf

# Generates a LaTeX preprint file
@editorialbot generate preprint

# Get a link to the complete list of reviewers
@editorialbot list reviewers
AthinaLange commented 2 weeks ago

@Kevin-Mattheus-Moerman is there anything else that has to be done?

Kevin-Mattheus-Moerman commented 1 week ago

@AthinaLange thanks for pining me. No, all looks good to proceed.

Kevin-Mattheus-Moerman commented 1 week ago

Post-Review Checklist for Editor and Authors

Additional Author Tasks After Review is Complete

Editor Tasks Prior to Acceptance

Kevin-Mattheus-Moerman commented 1 week ago

@editorialbot generate pdf

editorialbot commented 1 week ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

Kevin-Mattheus-Moerman commented 1 week ago

@editorialbot check references

editorialbot commented 1 week ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

βœ… OK DOIs

- 10.1016/j.neucom.2022.10.008 is OK
- 10.1016/j.image.2020.116015 is OK
- 10.1007/s11263-006-0002-3 is OK
- 10.1016/j.softx.2020.100584 is OK
- 10.1109/TPAMI.2003.1217599 is OK
- 10.1006/cviu.1999.0832 is OK
- 10.1016/j.coastaleng.2007.01.003 is OK
- 10.1016/j.softx.2020.100582 is OK

🟑 SKIP DOIs

- No DOI given, and none found for title: Multiple view geometry in computer vision

❌ MISSING DOIs

- None

❌ INVALID DOIs

- None
Kevin-Mattheus-Moerman commented 1 week ago

@AthinaLange the above list contains the last set of required steps. Please create a new release and archive the new release on ZENODO. You can create the archive manually or use the ZENODO-GitHub integration (e.g. see instructions like this https://coderefinery.github.io/github-without-command-line/doi/). Please let me know what the version tag is for your new release.

I checked the paper and did not see spelling/type issues, however I do have this comment:

AthinaLange commented 1 week ago

I've changed the affiliations and made a new release v1.1 and it looks like it is linked in the zenodo archive (https://zenodo.org/records/13958678)

Kevin-Mattheus-Moerman commented 1 week ago

@editorialbot set v1.1 as version

editorialbot commented 1 week ago

Done! version is now v1.1

Kevin-Mattheus-Moerman commented 1 week ago

@editorialbot set 10.5281/zenodo.13958678 as archive

editorialbot commented 1 week ago

Done! archive is now 10.5281/zenodo.13958678

Kevin-Mattheus-Moerman commented 1 week ago

@editorialbot generate pdf

editorialbot commented 1 week ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

Kevin-Mattheus-Moerman commented 1 week ago

@AthinaLange thanks for those updates. Now can you please manually edit the ZENODO archive listing so that: