Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Group 17 - colourpickr (R) #30

Open
9 of 29 tasks
shaunhutch opened this issue Jan 31, 2023 · 4 comments
Open
9 of 29 tasks

Group 17 - colourpickr (R) #30

shaunhutch opened this issue Jan 31, 2023 · 4 comments

Comments

@shaunhutch
Copy link

shaunhutch commented Jan 31, 2023


name: Colourpickr
about: A package to extract a colour palette from an image for data visualization.


Submitting Author Name: Shaun Hutchinson, Lauren Zung, Alex Taciuk, Arjun Radhakrishnan
Submitting Author Github Handle: @shaunhutch, @lzung, @ataciuk, @rkrishnan-arjun
Repository: https://github.com/UBC-MDS/colourpickr
Version submitted: TBD
Submission type: Standard
Editor: @flor14
Reviewers: Jakob Thoms, Suraporn Puangpanbut, Chester Wang, Ritisha Sharma

Archive: TBD
Version accepted: TBD
Language: en

  • Paste the full DESCRIPTION file inside a code block below:
Package: colourpickr
Title: Extract Colours For Data Visualization
Version: 0.0.0.9000
Authors@R: 
    person("Shaun", "Hutchinson", , "[email protected]", role = c("aut", "cre"))
    person("Alex", "Taciuk", , "[email protected]", role = c("aut", "cre"))
    person("Arjun", "Radhakrishnan", , "[email protected]", role = c("aut", "cre"))
    person("Lauren", "Zung", , "[email protected]", role = c("aut", "cre"))
Description: A package that can be used to extract colours from images for use in data visualization projects.
License: MIT + file LICENSE
Encoding: UTF-8
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.2.3
Suggests: 
    testthat (>= 3.0.0)
Config/testthat/edition: 3
Imports: 
    tibble,
    tidyverse,
    colorfindr,
    stringr,
    ggplot2,
    grDevices,
    httr,
    palmerpenguins,
    rlang,
    dplyr

Scope

  • Please indicate which category or categories from our package fit policies this package falls under: (Please check an appropriate box below. If you are unsure, we suggest you make a pre-submission inquiry.):

    • data retrieval
    • data extraction
    • data munging
    • data deposition
    • data validation and testing
    • workflow automation
    • version control
    • citation management and bibliometrics
    • scientific software wrappers
    • field and lab reproducibility tools
    • database software bindings
    • geospatial data
    • text analysis
  • Explain how and why the package falls under these categories (briefly, 1-2 sentences):
    This package is extracting the colours from images (data extraction). This is also processing image files for data visualizations (data munging).

  • Who is the target audience and what are scientific applications of this package?
    The target audience is anyone who would like to make data visualizations more appealing and correspond to a theme of an image. This could be someone who would like their visualizations match to a company logo or some other image. These could be data scientists, data analysts or anyone using Python to make data visualizations.

  • Are there other R packages that accomplish the same thing? If so, how does yours differ or meet our criteria for best-in-category?
    -There does exist similar functions in R that provide similar functionality to our package. packages are capable of colour extraction and data visualization, but none exist that combine the two functions to our knowledge. Some examples of such packages are as follows:

  1. Magick

  2. Colorfindr

Technical checks

Confirm each of the following by checking the box.

This package:

Publication options

  • Do you intend for this package to go on CRAN?

  • Do you intend for this package to go on Bioconductor?

  • Do you wish to submit an Applications Article about your package to Methods in Ecology and Evolution? If so:

MEE Options
  • The package is novel and will be of interest to the broad readership of the journal.
  • The manuscript describing the package is no longer than 3000 words.
  • You intend to archive the code for the package in a long-term repository which meets the requirements of the journal (see MEE's Policy on Publishing Code)
  • (Scope: Do consider MEE's Aims and Scope for your manuscript. We make no guarantee that your manuscript will be within MEE scope.)
  • (Although not required, we strongly recommend having a full manuscript prepared when you submit here.)
  • (Please do not submit your package separately to Methods in Ecology and Evolution)

Code of conduct

@Suraporn
Copy link

Suraporn commented Feb 6, 2023

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

  • Briefly describe any working relationship you have (had) with the package authors.
  • As the reviewer I confirm that there are no conflicts of interest for me to review this work (if you are unsure whether you are in conflict, please speak to your editor before starting your review).

Documentation

The package includes all the following forms of documentation:

  • A statement of need: clearly stating problems the software is designed to solve and its target audience in README
  • Installation instructions: for the development version of package and any non-standard dependencies in README
  • Vignette(s): demonstrating major functionality that runs successfully locally
  • Function Documentation: for all exported functions
  • Examples: (that run successfully locally) for all exported functions
  • Community guidelines: including contribution guidelines in the README or CONTRIBUTING, and DESCRIPTION with URL, BugReports and Maintainer (which may be autogenerated via Authors@R).

Functionality

  • Installation: Installation succeeds as documented.
  • Functionality: Any functional claims of the software been confirmed.
  • Performance: Any performance claims of the software been confirmed.
  • Automated tests: Unit tests cover essential functions of the package and a reasonable range of inputs and conditions. All tests pass on the local machine.
  • Packaging guidelines: The package conforms to the rOpenSci packaging guidelines.

Estimated hours spent reviewing:

  • Should the author(s) deem it appropriate, I agree to be acknowledged as a package reviewer ("rev" role) in the package DESCRIPTION file.

Review Comments

First of all, congratulations on creating such an interesting package, I really like the idea of the package that solves color template of the presentation problem, I personally got this problem before, and will definitely use this wonderful package!

  1. The README.md is well written but you need to change the description of the package, "A Python package that can be used to extract colours from images for use in data visualization projects", from Python to R.
  2. Installation with devtools::install_github("UBC-MDS/colourpickr") worked well and it got pretty good code coverage at 97%, well done.
  3. All four functions, get_color_palette, donut, scatterplot, negative, are well-written and well-documented with roxygen2 style, and I was able to pull the docstring with ?function_name to see the document when I need it.
  4. Unfortunately, running all functions, I got the same error about namespace version as below,

get_color_palette("https://raw.githubusercontent.com/UBC-MDS/colourpycker/add_image/images/UBC_Aerial.jpg", 3)
Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :
namespace ‘vctrs’ 0.5.1 is already loaded, but >= 0.5.2 is required

  1. Even with scatterplot function that we can pass our template picture, and our data, this function then returns the plot of our data with a specific color template of the picture, yet, the type of plot in this function is still limited, it should be a good idea if we can have more flexibility choosing plot type based on types in our data. Or we can have another function that creates a color map from the picture and we can use this color map later with other visualization libraries such as ggplot, etc ..
  2. Well discussion about license choice.

Finally, thank you again for creating this interesting package, I am glad to review your wonderful package.

@ritisha2000
Copy link

ritisha2000 commented Feb 8, 2023

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

  • Briefly describe any working relationship you have (had) with the package authors.
  • As the reviewer I confirm that there are no conflicts of interest for me to review this work (if you are unsure whether you are in conflict, please speak to your editor before starting your review).

Documentation

The package includes all the following forms of documentation:

  • A statement of need: clearly stating problems the software is designed to solve and its target audience in README
  • Installation instructions: for the development version of package and any non-standard dependencies in README
  • Vignette(s): demonstrating major functionality that runs successfully locally
  • Function Documentation: for all exported functions
  • Examples: (that run successfully locally) for all exported functions
  • Community guidelines: including contribution guidelines in the README or CONTRIBUTING, and DESCRIPTION with URL, BugReports and Maintainer (which may be autogenerated via Authors@R).

Functionality

  • Installation: Installation succeeds as documented.
  • Functionality: Any functional claims of the software been confirmed.
  • Performance: Any performance claims of the software been confirmed.
  • Automated tests: Unit tests cover essential functions of the package and a reasonable range of inputs and conditions. All tests pass on the local machine.
  • Packaging guidelines: The package conforms to the rOpenSci packaging guidelines.

Estimated hours spent reviewing: 1 hour

  • Should the author(s) deem it appropriate, I agree to be acknowledged as a package reviewer ("rev" role) in the package DESCRIPTION file.

Review Comments---

  1. The README and the GitHub pages are organized and well-formatted. They include and explain all the necessary information.
  2. All the functions performed the operation that they were supposed to. The donut function with the arguments mentioned in the "Usage" section gives a warning, which doesn't seem too serious but maybe something you want to look at.
  3. The code coverage is 97% which is great. The tests seem to be thorough and well-documented.
  4. All functions perform very interesting jobs. The scatter_plot function could add additional arguments for making the title and axes labels human-readable.
  5. It is great that your functions check whether the URL is valid. It seems that the donut function does not have that feature which you could consider adding.

Overall, very interesting idea for a project and well-executed!

@ChesterAiGo
Copy link

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

  • Briefly describe any working relationship you have (had) with the package authors.
  • As the reviewer I confirm that there are no conflicts of interest for me to review this work (if you are unsure whether you are in conflict, please speak to your editor before starting your review).

Documentation

The package includes all the following forms of documentation:

  • A statement of need: clearly stating problems the software is designed to solve and its target audience in README
  • Installation instructions: for the development version of package and any non-standard dependencies in README
  • Vignette(s): demonstrating major functionality that runs successfully locally
  • Function Documentation: for all exported functions
  • Examples: (that run successfully locally) for all exported functions
  • Community guidelines: including contribution guidelines in the README or CONTRIBUTING, and DESCRIPTION with URL, BugReports and Maintainer (which may be autogenerated via Authors@R).

Functionality

  • Installation: Installation succeeds as documented.
  • Functionality: Any functional claims of the software been confirmed.
  • Performance: Any performance claims of the software been confirmed.
  • Automated tests: Unit tests cover essential functions of the package and a reasonable range of inputs and conditions. All tests pass on the local machine.
  • Packaging guidelines: The package conforms to the rOpenSci packaging guidelines.

Estimated hours spent reviewing: 1 Hour

  • Should the author(s) deem it appropriate, I agree to be acknowledged as a package reviewer ("rev" role) in the package DESCRIPTION file.

Review Comments

  1. In general, I found the package to be well-documented and the functions are well-written with great clarity.
  2. The developers also come with sufficient tests, having a test coverage as high as 97%. Great work!
  3. I do observe an inconsistency between the license the developers used in this package (GPL) and in the Python package (MIT). It would be great if this different can be explained as to why they decided to proceed with difference choices. Also I checked the website which says MIT is used for this package.
  4. On the website I only see 1 name under the "developers" section, and I would be nice to include all four names.
  5. I also observed a significant number of branches remaining with confusing names. A good convention to follow would be removing those branches once they are merged.

@j99thoms
Copy link

j99thoms commented Feb 9, 2023

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

  • Briefly describe any working relationship you have (had) with the package authors.
  • As the reviewer I confirm that there are no conflicts of interest for me to review this work (if you are unsure whether you are in conflict, please speak to your editor before starting your review).

Documentation

The package includes all the following forms of documentation:

  • A statement of need: clearly stating problems the software is designed to solve and its target audience in README
  • Installation instructions: for the development version of package and any non-standard dependencies in README
  • Vignette(s): demonstrating major functionality that runs successfully locally
  • Function Documentation: for all exported functions
  • Examples: (that run successfully locally) for all exported functions
  • Community guidelines: including contribution guidelines in the README or CONTRIBUTING, and DESCRIPTION with URL, BugReports and Maintainer (which may be autogenerated via Authors@R).

Functionality

  • Installation: Installation succeeds as documented.
  • Functionality: Any functional claims of the software been confirmed.
  • Performance: Any performance claims of the software been confirmed.
  • Automated tests: Unit tests cover essential functions of the package and a reasonable range of inputs and conditions. All tests pass on the local machine.
  • Packaging guidelines: The package conforms to the rOpenSci packaging guidelines.

Estimated hours spent reviewing:

  • Should the author(s) deem it appropriate, I agree to be acknowledged as a package reviewer ("rev" role) in the package DESCRIPTION file.

Review Comments

The package has great documentation, clearly named functions, and high test coverage. The functions perform well but there could be room for improvement with new features such as more flexible plot options.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants