openjournals / joss-reviews

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

[REVIEW]: PyAFBF: a Python library to sample image textures from the anisotropic fractional Brownian field. #3821

Closed whedon closed 2 years ago

whedon commented 2 years ago

Submitting author: !--author-handle-->@fjprichard<!--end-author-handle-- (Frédéric Richard) Repository: https://github.com/fjprichard/PyAFBF/ Branch with paper.md (empty if default branch): main Version: v0.1.5 Editor: !--editor-->@pibion<!--end-editor-- Reviewers: @vitorsr, @janmandel Archive: 10.5281/zenodo.6860333

:warning: JOSS reduced service mode :warning:

Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.

Status

status

Status badge code:

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

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

@vitorsr & @janmandel, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:

  1. Make sure you're logged in to your GitHub account
  2. Be sure to accept the invite at this URL: https://github.com/openjournals/joss-reviews/invitations

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @pibion 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

Review checklist for @vitorsr

✨ Important: Please do not use the Convert to issue functionality when working through this checklist, instead, please open any new issues associated with your review in the software repository associated with the submission. ✨

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

Review checklist for @janmandel

✨ Important: Please do not use the Convert to issue functionality when working through this checklist, instead, please open any new issues associated with your review in the software repository associated with the submission. ✨

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

fjprichard commented 2 years ago

@pibion Thank you very much for these last valuable corrections. I have modified the text. I'm going to do a code release and set a DOI.

fjprichard commented 2 years ago

@pibion I created a new release (v0.1.0) for the package including the joss paper. I have a question about the DOI, just to be sure. The DOI is for the new release ? and not for the paper.

fjprichard commented 2 years ago

@pibion I created the doi. The badge of the DOI is included in the README file of the new release (v0.1.3). Thank you very much.

pibion commented 2 years ago

@editorialbot check references

pibion commented 2 years ago

@editorialbot generate paper

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

OK DOIs

- 10.1016/j.cageo.2004.03.012 is OK
- 10.18637/jss.v023.i01 is OK
- 10.1051/ps:2007031 is OK
- 10.1007/s11222-017-9785-z is OK
- 10.1016/j.spasta.2016.02.001 is OK
- 10.1016/j.proenv.2015.07.100 is OK
- 10.5705/ss.202014.0077 is OK
- 10.1007/s10851-009-0181-y is OK
- 10.1007/978-3-642-19604-1_3 is OK
- 10.1051/proc/2009008 is OK
- 10.1080/10618600.2014.946603 is OK
- 10.1016/j.spa.2020.01.012 is OK
- 10.1016/s0167-7152(99)00171-6 is OK
- 10.1109/icip.2014.7026229 is OK
- 10.4171/rmi/217 is OK
- 10.1007/s00041-003-0012-2 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 2 years ago

I'm sorry human, I don't understand that. You can see what commands I support by typing:

@editorialbot commands

pibion commented 2 years ago

@editorialbot commands

editorialbot commented 2 years ago

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


# List all available commands
@editorialbot commands

# Add to this issue's reviewers list
@editorialbot add @username as reviewer

# Remove from this issue's reviewers list
@editorialbot remove @username from reviewers

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

# Assign a user as the editor of this submission
@editorialbot assign @username as editor

# Remove the editor assigned to this submission
@editorialbot remove editor

# Remind an author or reviewer to return to a review after a 
# certain period of time (supported units days and weeks)
@editorialbot remind @reviewer in 2 weeks

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

# Perform checks on the repository
@editorialbot check repository

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

# Set a value for version
@editorialbot set v1.0.0 as version

# Set a value for archive
@editorialbot set 10.21105/zenodo.12345 as archive

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

# Generates the pdf paper
@editorialbot generate pdf

# Recommends the submission for acceptance
@editorialbot recommend-accept

# Flag submission with questionable scope
@editorialbot query scope

# Get a link to the complete list of reviewers
@editorialbot list reviewers

# Open the review issue
@editorialbot start review
pibion commented 2 years ago

@editorialbot generate pdf

editorialbot commented 2 years ago

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

pibion commented 2 years ago

Hi @fjprichard , thank you for your edits! I have one outstanding minor comment and two more involved comments. I've tried to suggest text for my involved comments.

Apologies for all the nitpickiness! I promise this is at least somewhat useful, as it will make the process faster once I recommend your paper for publication. The JOSS release managers will ask for edits if anything in the paper is unclear.

A minor comment

line 16, reasearchs -> reasearchs

PyAFBF supports investigation of open questions about anisotropic fields

The sentences that start on line 19 are still unclear to me. Currently your paper says:

Its simulations have been particularly useful to set experimental protocols aiming at assessing performances of estimation methods (citations). The issues tackled in these works concerned the statistical estimation of these functional parameters and features of the AFBF and related models. There are still largely open.

I'm not sure what "functional parameters" refers to. I also get the sense that you're saying that there are still open questions, but I don't know what those questions are based on your text.

After reading through some of your cited papers, here's my suggestion. Is this what you're saying, or am I missing important points?

Its simulations have been particularly useful for testing estimators designed to identify fields as isotropic or anisotropic (citations). We still do not have estimators that reliably discriminate isotropic from anisotropic fields for all possible field parameters.

General to specific in the statement of need

I would recommend moving the following to the very beginning of the "Statement of Need" section as it is the most general information:

The library is also of interest for researchers in image processing where random fields can serve as texture or noise models for medical images (Biermé et al., 2009; Biermé & Richard, 2011; Richard, 2015, 2016a; Richard & Biermé, 2010) or photographic films (Richard, 2017). This is also of interest for researchers in machine learning where the random field simulation could be included in image generative models such as GAN.

I also have the following suggestions to make it read a little smoother. Is this missing important points, or oversimplifying? I think it is worth explicity saying that there is a need for reliable estimators that accurately identify anisotropic fields, this makes it very clear that your library is needed for testing metrics.

Simulating anisotropic fields is useful both for developing metrics that identify anisotropic fields and for generative methods that need anisotropic fields as input. Isotropy metrics have applications from medical diagnostics to biometric authentication (Richard, F. J. P. (2016b)). Anisotropic field samples are needed for texture or noise models for medical images (Biermé et al., 2009; Biermé & Richard, 2011; Richard, 2015, 2016a; Richard & Biermé, 2010), photographic films (Richard, 2017), and other image-generative applications such as Generative Adversarial Networks.

fjprichard commented 2 years ago

@pibion Thank you for your valuable comments; there is no problem about continuing improving the text. I rewrite the introduction to take into account your comments. I separated it into two paragraphs: the first one presents generic interests of the package. The second one is more focused on its interest for the evaluation of estimation methods. In this part, I tried to be more specific about the estimation issues. I hope it is "smoother".

pibion commented 2 years ago

@editorialbot generate pdf

editorialbot commented 2 years ago

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

pibion commented 2 years ago

@fjprichard I think you may need to merge the joss branch into main, I don't get the updated version of the paper when I generate the proof.

fjprichard commented 2 years ago

@pibion I already merged it but I did not remove it. The change I made this morning were made in the main branch.

pibion commented 2 years ago

@editorialbot set joss-paper as main

editorialbot commented 2 years ago

I'm sorry human, I don't understand that. You can see what commands I support by typing:

@editorialbot commands

pibion commented 2 years ago

@editorialbot commands

pibion commented 2 years ago

@editorialbot commands

editorialbot commented 2 years ago

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


# List all available commands
@editorialbot commands

# Add to this issue's reviewers list
@editorialbot add @username as reviewer

# Remove from this issue's reviewers list
@editorialbot remove @username from reviewers

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

# Assign a user as the editor of this submission
@editorialbot assign @username as editor

# Remove the editor assigned to this submission
@editorialbot remove editor

# Remind an author or reviewer to return to a review after a 
# certain period of time (supported units days and weeks)
@editorialbot remind @reviewer in 2 weeks

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

# Perform checks on the repository
@editorialbot check repository

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

# Set a value for version
@editorialbot set v1.0.0 as version

# Set a value for archive
@editorialbot set 10.21105/zenodo.12345 as archive

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

# Generates the pdf paper
@editorialbot generate pdf

# Recommends the submission for acceptance
@editorialbot recommend-accept

# Flag submission with questionable scope
@editorialbot query scope

# Get a link to the complete list of reviewers
@editorialbot list reviewers

# Open the review issue
@editorialbot start review
pibion commented 2 years ago

@editorialbot set main as branch

editorialbot commented 2 years ago

Done! branch is now main

pibion commented 2 years ago

@editorialbot generate pdf

editorialbot commented 2 years ago

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

fjprichard commented 2 years ago

I'm fine with the proof.

pibion commented 2 years ago

Simulations of AFBF have been particularly useful to evaluate methods devoted to the estimation of the features derived from the parameters of the AFBF, namely the topothesy and the Hurst functions. Such features are important to characterize directional properties of the field and describe the image texture anisotropy. They can be use to classify or segment images, and detect image abnormalities. However, issues raised by the statistical estimation of the model parameters and features remain open.

Simulations of AFBF have been particularly useful to evaluate methods devoted to the estimation of the features derived from the parameters of the AFBF, namely the topothesy and the Hurst functions.

I want to check that I'm understanding correctly: Are the topothesy and Hurst functions the "methods that estimate the features derived from the parameters of the AFBF," or are they the "features derived from the parameters of the AFBF?"

Such features are important to characterize directional properties of the field and describe the image texture anisotropy. They can be use to classify or segment images, and detect image abnormalities.

I'm not confident I know what "features" refers to - the topothesy and Hurst functions? Features of the AFBF like directionality? Statistically-calculated estimators? If "features" really means the topothesy and Hurst functions, maybe "Such functions(?) help characterize directional properties of the field and describe the image texture anisotropy."

They can be use to classify or segment images, and detect image abnormalities.

This is wonderfully clear, no comments :)

However, issues raised by the statistical estimation of the model parameters and features remain open.

I don't have any sense of what "issues raised" could be. I think this would be clearer if you gave a concrete example of an open issue. Like, "However, we do not have accurate statistical estimators for model parameters and features for many AFBFs."

fjprichard commented 2 years ago
**line 16, reasearchs -> researchs
line 31, developping -> developing**

Done.

I want to check that I'm understanding correctly: Are the topothesy and Hurst functions the "methods that estimate the features derived from the parameters of the AFBF," or are they the "features derived from the parameters of the AFBF?" I'm not confident I know what "features" refers to - the topothesy and Hurst functions? Features of the AFBF like directionality? Statistically-calculated estimators? If "features" really means the topothesy and Hurst functions, maybe "Such functions(?) help characterize directional properties of the field and describe the image texture anisotropy."

The topothesy function and Hurst functions are the two parameters of the field (they are defined after the first equation). We can define features

However, issues raised by the statistical estimation of the model parameters and features remain open. I don't have any sense of what "issues raised" could be. I think this would be clearer if you gave a concrete example of an issue. Like, "However, we do not have accurate statistical estimators for model parameters and features for many AFBFs."

I modified the text to be more specific.

pibion commented 2 years ago

@editorialbot generate pdf

editorialbot commented 2 years ago

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

pibion commented 2 years ago

@editorialbot generate pdf

editorialbot commented 2 years ago

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

pibion commented 2 years ago

@fjprichard this version is very clear, thank you! My only comment is that on line 16 I think that "researchs" should be "research".

Once you've made that change, make a tagged release and archive, and report the version number and archive DOI in this thread. Then I'll follow the steps at https://joss.readthedocs.io/en/latest/editing.html#after-reviewers-recommend-acceptance, which end in recommending acceptance!

We're almost there!

fjprichard commented 2 years ago

Release TAG: v0.1.5 DOI: 10.5281/zenodo.6860333

pibion commented 2 years ago

@editorialbot check references

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

OK DOIs

- 10.1016/j.cageo.2004.03.012 is OK
- 10.18637/jss.v023.i01 is OK
- 10.1051/ps:2007031 is OK
- 10.1007/s11222-017-9785-z is OK
- 10.1016/j.spasta.2016.02.001 is OK
- 10.1016/j.proenv.2015.07.100 is OK
- 10.5705/ss.202014.0077 is OK
- 10.1007/s10851-009-0181-y is OK
- 10.1007/978-3-642-19604-1_3 is OK
- 10.1051/proc/2009008 is OK
- 10.1080/10618600.2014.946603 is OK
- 10.1016/j.spa.2020.01.012 is OK
- 10.1016/s0167-7152(99)00171-6 is OK
- 10.1109/icip.2014.7026229 is OK
- 10.4171/rmi/217 is OK
- 10.1007/s00041-003-0012-2 is OK

MISSING DOIs

- None

INVALID DOIs

- None
pibion commented 2 years ago

@editorialbot generate pdf

editorialbot commented 2 years ago

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

pibion commented 2 years ago

@editorialbot set 10.5281/zenodo.6860333 as archive

editorialbot commented 2 years ago

Done! Archive is now 10.5281/zenodo.6860333

pibion commented 2 years ago

@editorialbot set v0.1.5 as version

editorialbot commented 2 years ago

Done! version is now v0.1.5

pibion commented 2 years ago

@editorialbot recommend-accept

editorialbot commented 2 years ago
Attempting dry run of processing paper acceptance...
editorialbot commented 2 years ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1016/j.cageo.2004.03.012 is OK
- 10.18637/jss.v023.i01 is OK
- 10.1051/ps:2007031 is OK
- 10.1007/s11222-017-9785-z is OK
- 10.1016/j.spasta.2016.02.001 is OK
- 10.1016/j.proenv.2015.07.100 is OK
- 10.5705/ss.202014.0077 is OK
- 10.1007/s10851-009-0181-y is OK
- 10.1007/978-3-642-19604-1_3 is OK
- 10.1051/proc/2009008 is OK
- 10.1080/10618600.2014.946603 is OK
- 10.1016/j.spa.2020.01.012 is OK
- 10.1016/s0167-7152(99)00171-6 is OK
- 10.1109/icip.2014.7026229 is OK
- 10.4171/rmi/217 is OK
- 10.1007/s00041-003-0012-2 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 2 years ago

:wave: @openjournals/joss-eics, this paper is ready to be accepted and published.

Check final proof :point_right::page_facing_up: Download article

If the paper PDF and the deposit XML files look good in https://github.com/openjournals/joss-papers/pull/3381, then you can now move forward with accepting the submission by compiling again with the command @editorialbot accept

fjprichard commented 2 years ago

@editorialbot accept

editorialbot commented 2 years ago

I'm sorry @fjprichard, I'm afraid I can't do that. That's something only eics are allowed to do.

arfon commented 2 years ago

@editorialbot accept