<commit_before># Final Project

An image generator using one of 16,777,216 for each pixel ([24bit color depth](https://en.wikipedia.org/wiki/Color_depth#True_color_.2824-bit.29)) w/ different algorithms using Haskell.

## Rules

1. Only one color per pixel of the image; an RGB value can not be used more than once.
1. Each of the individual 16,777,216 possible color values ([24bit color depth](https://en.wikipedia.org/wiki/Color_depth#True_color_.2824-bit.29)) must be used.

## Inspiration

<https://codegolf.stackexchange.com/questions/22144/images-with-all-colors>

## Tools/Resources

- [![Haskell](https://www.haskell.org/static/img/haskell-logo.svg?etag=ukf3Fg7-)](https://www.haskell.org/)
- [![](https://camo.githubusercontent.com/8138e62c7342cc9c34aba722750bddd2f38aa626/68747470733a2f2f7261772e6769746875622e636f6d2f5477696e736964652f4a756963792e506978656c732f6d61737465722f646f63696d616765732f6a756963792e706e67) JuicyPixels package](https://hackage.haskell.org/package/JuicyPixels)

## Something something

Creating an image with individually uniquely colored pixels is very easy using Haskell and the hackage JuicyPixels. Within JuicyPixels there is a function called `generateImage` that takes a function and 2 integer values as arguments. It uses the two integer values to determine the width and height of the image and also uses them to determine the inputs to the function argument. By iterating from 0 to width - 1 for the x value and 0 to height - 1 for the y value, we can simply make the function argument return the input values for x and y. But because this would Since the iteration never repeats the same value, we instantly have an algorithm that creates a uniquely colored pixel that matches no other pixel within the image. But this is no fun, so I am going to explore much more complicated algorithms in hopes of creating some impressive images.

# "Un-Aware Algorithms"
<commit_msg>adding how to use to readme<commit_after># Final Project

An image generator using one of 16,777,216 for each pixel ([24bit color depth](https://en.wikipedia.org/wiki/Color_depth#True_color_.2824-bit.29)) w/ different algorithms using Haskell.

## Rules

1. Only one color per pixel of the image; an RGB value can not be used more than once.
1. Each of the individual 16,777,216 possible color values ([24bit color depth](https://en.wikipedia.org/wiki/Color_depth#True_color_.2824-bit.29)) must be used.

## Inspiration

<https://codegolf.stackexchange.com/questions/22144/images-with-all-colors>

## Tools/Resources

- [![Haskell](https://www.haskell.org/static/img/haskell-logo.svg?etag=ukf3Fg7-)](https://www.haskell.org/)
- [![](https://camo.githubusercontent.com/8138e62c7342cc9c34aba722750bddd2f38aa626/68747470733a2f2f7261772e6769746875622e636f6d2f5477696e736964652f4a756963792e506978656c732f6d61737465722f646f63696d616765732f6a756963792e706e67) JuicyPixels package](https://hackage.haskell.org/package/JuicyPixels)

## How to use

Change directory in cmd line to the directory with the `main.hs` file
````cmd
cd finalproject
````
Run the GHC
````cmd
ghc --make main.hs
````
Run the main.hs
````cmd
main.hs
````
Call a function
````
meltyIceCream "meltyIceCreamOutput.png"
````
A new image file will be created based on the algorithm within the meltyIceCream function.

## Something something

Creating an image with individually uniquely colored pixels is very easy using Haskell and the hackage JuicyPixels. Within JuicyPixels there is a function called `generateImage` that takes a function and 2 integer values as arguments. It uses the two integer values to determine the width and height of the image and also uses them to determine the inputs to the function argument. By iterating from 0 to width - 1 for the x value and 0 to height - 1 for the y value, we can simply make the function argument return the input values for x and y. But because this would Since the iteration never repeats the same value, we instantly have an algorithm that creates a uniquely colored pixel that matches no other pixel within the image. But this is no fun, so I am going to explore much more complicated algorithms in hopes of creating some impressive images.

# "Un-Aware Algorithms"

{'fraction_non_alphanumeric': 0.07811383662776851, 'fraction_numerical': 0.09097404143843772, 'mean_word_length': 5.086956521739131, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 14, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1839671', 'n_tokens_mistral': 1509, 'n_tokens_neox': 1241, 'n_words': 489}