ph-submissions icon indicating copy to clipboard operation
ph-submissions copied to clipboard

Computational Analysis of Film Colour in R

Open nabsiddiqui opened this issue 2 years ago • 9 comments

The Programming Historian has received the following tutorial on 'An introduction to computational analysis of film colour in R' by @DrNickRedfern. This lesson is now under review and can be read at:

http://programminghistorian.github.io/ph-submissions/en/drafts/originals/colour-analysis-in-r

Please feel free to use the line numbers provided on the preview if that helps with anchoring your comments, although you can structure your review as you see fit.

I will act as editor for the review process. My role is to solicit two reviews from the community and to manage the discussions, which should be held here on this forum. I have already read through the lesson and provided feedback, to which the author has responded.

Members of the wider community are also invited to offer constructive feedback which should post to this message thread, but they are asked to first read our Reviewer Guidelines (http://programminghistorian.org/reviewer-guidelines) and to adhere to our anti-harassment policy (below). We ask that all reviews stop after the second formal review has been submitted so that the author can focus on any revisions. I will make an announcement on this thread when that has occurred.

I will endeavor to keep the conversation open here on Github. If anyone feels the need to discuss anything privately, you are welcome to email me.

Our dedicated Ombudsperson is (Ian Milligan - http://programminghistorian.org/en/project-team). Please feel free to contact him at any time if you have concerns that you would like addressed by an impartial observer. Contacting the ombudsperson will have no impact on the outcome of any peer review.

Anti-Harassment Policy

This is a statement of the Programming Historian's principles and sets expectations for the tone and style of all correspondence between reviewers, authors, editors, and contributors to our public forums.

The Programming Historian is dedicated to providing an open scholarly environment that offers community participants the freedom to thoroughly scrutinize ideas, to ask questions, make suggestions, or to requests for clarification, but also provides a harassment-free space for all contributors to the project, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age or religion, or technical experience. We do not tolerate harassment or ad hominem attacks of community participants in any form. Participants violating these rules may be expelled from the community at the discretion of the editorial board. Thank you for helping us to create a safe space.


nabsiddiqui avatar Aug 17 '22 23:08 nabsiddiqui

@DrNickRedfern my goal is to provide you some initial comments soon as possible. You can then respond to them and make any revisions. I will then seek out reviewers.

@anisa-hawes Can you check what is going on with the images? I thought I uploaded them correctly but they don't seem to be loading.

nabsiddiqui avatar Aug 18 '22 01:08 nabsiddiqui

@nabsiddiqui it's that the image folder should go in the images directory rather than assets

hawc2 avatar Aug 18 '22 03:08 hawc2

Got it. I'll fix it shortly.

nabsiddiqui avatar Aug 18 '22 13:08 nabsiddiqui

It still seems like it isn't working

Edit: Seems to be working now. Looks like I just needed to wait on the rebuild to go live.

nabsiddiqui avatar Aug 18 '22 15:08 nabsiddiqui

General Comments

I really enjoyed reading this tutorial and learned a lot about color theory, how to split film frames, and how to analyze new things in R. I think it will be a great addition for our audience, especially since we have a lot less on video than we do text analysis. etc. I did not find anything that would require major rewrites, etc. The tutorial also flows well and is organized. I have noted some small typos in the "Minor Changes" section.

The biggest issue that I see right now is that the tutorial assumes a lot more advanced knowledge of R than most of our audience will have. I ran all the code and it works fine. However, I believe that breaking down the steps for some of the code (perhaps doing a single frame analysis before looping through the film) would benefit the lesson's clarity. @DrNickRedfern please let me know what timeframe works for you on getting these revisions back and we can go through next steps then.

Major Changes

For Listing 6, I recommend that a single frame be used first to go through the individual steps before looping. This way, each part of the code can be broken up and explained. For instance, there could be a code snippet that explains loading the image and dropping the jpeg extension; another on separating the r, g, b channels and storing them into a data frame; and another on getting the average value of each channel.

For Listing 7, I think that it would help to again use a single frame to explain the conversion before going on to looping. One thing that I noted when going through the tutorial was that I was confused by the Lab to LCH(ab) conversion process. Why is the Lab value averaged when converting to LCH(ab) but then not averaged for the original RGB to Lab conversion? Why are we converting to LCH(ab) rather than just sticking to Lab?

p. 52 and p.53. There seems to be some going back and forth between LCH(ab) and Lab, and I'm not sure if it is an error. I understand that at the beginning of the tutorial there is a statement that we should assume LCH(ab) when referring to Lab. However, I think it should be made clear throughout the tutorial when referring to one or the other. The reason for some of the code, such as conversion to LCH(ab) and Lab in Listing 7 could also be broken down here further.

P.67 This section needs to be expanded a little bit. Right now, it goes by very fast. Breaking down the steps of what the calculation is doing and some paragraph breaks would help.

Minor Changes

P.1-serves -> serve

P.1- is a structural -> is structural

P.4-is as organised -> is organised

P.5-include some of the Programming Historian tutorials on R

P.6-“Although colour has an objective physical basis in the wavelength of light, for an observer, colour is a perceived phenomenon” -> “Although colour has an objective physical basis in the wavelength of light, colour is a perceived phenomenon for observers.” P.6 “In order to analyse color in film” should have a comma after it

P.8-“It assumed” -> “It is assumed”

P.12-Expand a little bit on perceptual uniformity. The article linked does a good job of explaining it, but most viewers will probably not click on the link.

P.20 “But like an atom,” -> “Like an atom,”

p.23. I don’t have the domain knowledge to know if the last sentence is true. There may be some packages not using ffmpeg. Maybe change it from “You are, in reality, using FFmpeg” to “You are, in reality, likely using FFmpeg”

P.39 Scroll down to fin -> Scroll down to find

P.39 We should probably store this copy of the file on the Programming Historian server. We can worry about this later.

P.41 -> “to work with” should have a comma after it.

Listing 3 -> Maybe make a note that these steps may take a while either in the code or in the paragraph before.

Listing 3 -> My hero_reduced file was 29.5MB while my original hero file was 29.4MB. Is this correct? If so, you may want to make a note of it.

P.44 as a whole, but which does not overburden our computational resources with redundant data. -> as a whole. At the same time, we do not want to overburden our computational resources with redundant data.

P. 45 Remove first comma.

Listing 5- Also make a note that this may take a while to run

P.49 I’m assuming this is meant to be LaTeX. There seems to be an issue in formatting here. I do not know if we have the ability on Programming Historian to embed LaTeX directly. We can revisit this later, but it may be worth creating images of the formulas just in case. I think the text also makes sense without the formula explicitly stated.

P.53 - chnaged->changed

p.53. Are we using the Lab* colour space or are we working with the LABch color space? Please confirm this is correct.

P. 56. Is it common to work with just RGB rather than Lab*? And if so, is that what we are trying to demonstrate here or is it just that this one film happens to be something where we can work on RGB directly? Is this a common check to do for other films? Make this more apparent.

P.59. Combine the first sentence and part of the second sentence with paragraph 58. Then place the discussion of what the figure shows after the listing and figure.

p.61 Place after Listing of code.

P.61-“has a has a” -> “has a”

Listing 12. My plot is different than the one shown.

nabsiddiqui avatar Aug 22 '22 18:08 nabsiddiqui

@nabsiddiqui The file sizes your report are incorrect. The WebM file you download should be 45.1MB. After conversion you shouldhave an mp4 file (hero.mp4) that is 30.0MB and after reducing the mp4 file, hero_reduced.mp4 should have a file size of 30.2MB.

I'm also not sure why you are getting a different plot from listing 12, esecailly as you don't report any issues with the other plots.

I suspect it's because you are using the wrong video file from wikimedia commons.

Can you check that you are downloading the correct video file: that is, the one marked WebM 720P and not the one marked VP9 720P (which, confusingly, is also a WebM file with two filetypes listed- *.vp9.webm). The VP9 702P version has a file size of 24.8MB, which sounds closer to the file sizes you report above.

If you use the WebM 720P file you should be able to reproduce my results without any problems. If not, let me know because then we have a bigger problem.

I've already added a sentence to my local copy of the markdown file to make sure this clear in the lesson. I'll upload the revised files once I've made all the changes.

DrNickRedfern avatar Sep 01 '22 15:09 DrNickRedfern

@nabsiddiqui I've done a version of this lesson that repsonds to the changes you've requested. How do you want me to make it available to you?

DrNickRedfern avatar Sep 14 '22 10:09 DrNickRedfern

@DrNickRedfern You should be able to just edit it here and do a pull request: https://github.com/programminghistorian/ph-submissions/blob/gh-pages/en/drafts/originals/colour-analysis-in-r.md

Once you have done so, tag me, and I will run through the code one last time with the correct film file and let you know if I run into any trouble. I will then seek out two reviewers.

nabsiddiqui avatar Sep 14 '22 13:09 nabsiddiqui

@nabsiddiqui I've added a pull request.

Let me know if you need anything else.

DrNickRedfern avatar Sep 16 '22 12:09 DrNickRedfern

@DrNickRedfern

Thank you for the updates on this. As @anisa-hawes mentioned, we usually use the GitHub issues for discussion and later reviews. I'm putting this link here just for people to know where to look. I think with the changes, we are ready to almost send this off to external reviewers. A few points:

It may be worth linking to the imager GitHub page as the library will be loaded and installed through pacman but will not work unless other dependencies are met (e.g. installing XQuartz on OS X) which may make it confusing for new readers: https://github.com/asgr/imager

I have now run the script about three different times and had another individual also run it. In each case, we did not get the values listed. The file we downloaded is here: https://upload.wikimedia.org/wikipedia/commons/transcoded/a/a9/HERO_-Blender_Open_Movie-full_movie.webm/HERO-_Blender_Open_Movie-full_movie.webm.720p.webm. It is 46.3MB. The output throughout the tutorial is different as a result.

In terms of the citation, I discussed this with our English editor. The Programming Historian began as a sort of sequential series of tutorials that looked at Python. The idea was that someone could start from the basics and work their way up. As a result, most Programming Historian articles and tutorials have linked with one another so that a person could work through them from the easiest to the hardest. I can understand that since I was the author of one of the lessons you believe may be relevant that you may view this as coercive. Thus, if you do not feel comfortable, you do not have to cite me specifically.

However, we would like you to link to the other Programming Historian tutorials that may be relevant I have tagged @hawc2, our current English editor, that can provide more clarification if it is needed.

nabsiddiqui avatar Mar 09 '23 19:03 nabsiddiqui

@DrNickRedfern it doesn't look like we've heard from you since March. Are you still working on this lesson? Programming Historian is looking to shift to a new submission process, and if this lesson cannot move forward now, we will need to ask you to revise and resubmit when we do a call for new proposals in the fall. Can you let us know your availability and continued interest in publishing a version of this lesson?

hawc2 avatar Jul 24 '23 20:07 hawc2

I feel given the current situation that I no longer have interest in continuing with this lesson.

Regards,

Dr Nick Redfern

ORCID: 0000-0002-7821-2404 Web: https://independent.academia.edu/NickRedfern | https://github.com/DrNickRedfern Email: @.***

From: Alex Wermer-Colan @.> Sent: Monday, July 24, 2023 9:27 PM To: programminghistorian/ph-submissions @.> Cc: Nick Redfern @.>; Mention @.> Subject: Re: [programminghistorian/ph-submissions] Computational Analysis of Film Colour in R (Issue #496)

@DrNickRedfernhttps://github.com/DrNickRedfern it doesn't look like we've heard from you since March. Are you still working on this lesson? Programming Historian is looking to shift to a new submission process, and if this lesson cannot move forward now, we will need to ask you to revise and resubmit when we do a call for new proposals in the fall. Can you let us know your availability and continued interest in publishing a version of this lesson?

— Reply to this email directly, view it on GitHubhttps://github.com/programminghistorian/ph-submissions/issues/496#issuecomment-1648556099, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ARC7WB3LTPBKXLHLC7CWPADXR3LCFANCNFSM563INFWA. You are receiving this because you were mentioned.Message ID: @.@.>>

DrNickRedfern avatar Aug 03 '23 17:08 DrNickRedfern

@DrNickRedfern I'm sorry to hear that, but thanks for your interest and time in submitting to the Programming Historian. We'll be posting a call for papers in the fall, adjusting our submission process to clarify what a typical PH lesson looks like and streamline the pipeline for external review in 2024. Please consider submitting this or another lesson proposal in the future.

hawc2 avatar Aug 04 '23 14:08 hawc2