Skip to content

Commit

Permalink
Modularize project.
Browse files Browse the repository at this point in the history
  • Loading branch information
Ernyoke committed Nov 24, 2022
1 parent 221a9b8 commit 8db0e95
Show file tree
Hide file tree
Showing 50 changed files with 261 additions and 81 deletions.
4 changes: 2 additions & 2 deletions blend/blend.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ package blend

import (
"errors"
"github.com/Ernyoke/Imger/utils"
"github.com/ernyoke/imger/utils"
"image"
"image/color"
)

// AddScalarToGray takes a grayscale image and and adds an integer value to all pixels of the image. If the result
// AddScalarToGray takes a grayscale image and adds an integer value to all pixels of the image. If the result
// overflows uint8, the result will be clamped to max uint8 (255).
// Example of usage:
//
Expand Down
2 changes: 1 addition & 1 deletion blend/blend_test.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package blend

import (
"github.com/Ernyoke/Imger/utils"
"github.com/ernyoke/imger/utils"
"image"
"testing"
)
Expand Down
7 changes: 7 additions & 0 deletions blend/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
module github.com/ernyoke/imger/blend

go 1.18

replace github.com/ernyoke/imger/utils => ../utils

require github.com/ernyoke/imger/utils v0.0.0-00010101000000-000000000000
16 changes: 4 additions & 12 deletions blur/blur.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ package blur

import (
"errors"
"github.com/Ernyoke/Imger/convolution"
"github.com/Ernyoke/Imger/padding"
"github.com/ernyoke/imger/convolution"
"github.com/ernyoke/imger/padding"
"image"
"math"
)
Expand All @@ -14,11 +14,7 @@ import (
// Border types supported: see convolution package.
func BoxGray(img *image.Gray, kernelSize image.Point, anchor image.Point, border padding.Border) (*image.Gray, error) {
kernel := generateBoxKernel(&kernelSize)
result, error := convolution.ConvolveGray(img, kernel.Normalize(), anchor, border)
if error != nil {
return nil, error
}
return result, nil
return convolution.ConvolveGray(img, kernel.Normalize(), anchor, border)
}

// BoxRGBA applies average blur to an RGBA image. The amount of bluring effect depends on the kernel size, where
Expand All @@ -27,11 +23,7 @@ func BoxGray(img *image.Gray, kernelSize image.Point, anchor image.Point, border
// Border types supported: see convolution package.
func BoxRGBA(img *image.RGBA, kernelSize image.Point, anchor image.Point, border padding.Border) (*image.RGBA, error) {
kernel := generateBoxKernel(&kernelSize)
result, error := convolution.ConvolveRGBA(img, kernel.Normalize(), anchor, border)
if error != nil {
return nil, error
}
return result, nil
return convolution.ConvolveRGBA(img, kernel.Normalize(), anchor, border)
}

// GaussianBlurGray applies average blur to a grayscale image. The amount of bluring effect depends on the kernel radius
Expand Down
22 changes: 11 additions & 11 deletions blur/blur_test.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package blur

import (
"github.com/Ernyoke/Imger/imgio"
"github.com/Ernyoke/Imger/padding"
"github.com/Ernyoke/Imger/utils"
"github.com/ernyoke/imger/imgio"
"github.com/ernyoke/imger/padding"
"github.com/ernyoke/imger/utils"
"image"
"testing"
)
Expand All @@ -19,8 +19,8 @@ func TestGrayGaussianBlurZeroRadius(t *testing.T) {
0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x80, 0x80, 0xFF,
},
}
_, error := GaussianBlurRGBA(&input, 0, 6, padding.BorderReflect)
if error != nil {
_, err := GaussianBlurRGBA(&input, 0, 6, padding.BorderReflect)
if err != nil {
//ok
} else {
t.Fatal("no error thrown")
Expand All @@ -46,9 +46,9 @@ func TestGrayGaussianBlurOneRadius(t *testing.T) {
0x3B, 0x59, 0x36,
},
}
result, error := GaussianBlurGray(&input, 1, 2, padding.BorderConstant)
if error != nil {
t.Fatal(error)
result, err := GaussianBlurGray(&input, 1, 2, padding.BorderConstant)
if err != nil {
t.Fatal(err)
}
utils.CompareGrayImagesWithOffset(t, expected, result, 1)
}
Expand All @@ -72,9 +72,9 @@ func TestRGBAGaussianBlurOneRadius(t *testing.T) {
0x3B, 0x3B, 0x3B, 0xFF, 0x59, 0x59, 0x59, 0xFF, 0x36, 0x36, 0x36, 0xFF,
},
}
actual, error := GaussianBlurRGBA(&input, 1, 2, padding.BorderConstant)
if error != nil {
t.Fatal(error)
actual, err := GaussianBlurRGBA(&input, 1, 2, padding.BorderConstant)
if err != nil {
t.Fatal(err)
}
//utils.PrintRGBA(t, actual)
utils.CompareRGBAImagesWithOffset(t, expected, actual, 1)
Expand Down
18 changes: 18 additions & 0 deletions blur/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
module github.com/ernyoke/imger/blur

go 1.18

replace github.com/ernyoke/imger/convolution => ../convolution

replace github.com/ernyoke/imger/padding => ../padding

replace github.com/ernyoke/imger/utils => ../utils

replace github.com/ernyoke/imger/imgio => ../imgio

require (
github.com/ernyoke/imger/convolution v0.0.0-00010101000000-000000000000
github.com/ernyoke/imger/imgio v0.0.0-00010101000000-000000000000
github.com/ernyoke/imger/padding v0.0.0-00010101000000-000000000000
github.com/ernyoke/imger/utils v0.0.0-00010101000000-000000000000
)
2 changes: 2 additions & 0 deletions blur/go.sum
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
github.com/Ernyoke/Imger v0.0.0-20210929183401-55700becd332 h1:t3vx6WXzlA8w/4yiYUGru1MrzBvicWz/XuNdGVtdLHA=
github.com/Ernyoke/Imger v0.0.0-20210929183401-55700becd332/go.mod h1:WPxIrfWBcjJahioCwGzQFtyws0szWdMlm9g0vcBruAg=
10 changes: 5 additions & 5 deletions convolution/convolution.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package convolution

import (
"github.com/Ernyoke/Imger/padding"
"github.com/Ernyoke/Imger/utils"
"github.com/ernyoke/imger/padding"
"github.com/ernyoke/imger/utils"
"image"
"image/color"
)
Expand Down Expand Up @@ -46,9 +46,9 @@ func ConvolveGray(img *image.Gray, kernel *Kernel, anchor image.Point, border pa
// specified by the anchor point gets updated on the result image.
func ConvolveRGBA(img *image.RGBA, kernel *Kernel, anchor image.Point, border padding.Border) (*image.RGBA, error) {
kernelSize := kernel.Size()
padded, error := padding.PaddingRGBA(img, kernelSize, anchor, border)
if error != nil {
return nil, error
padded, err := padding.PaddingRGBA(img, kernelSize, anchor, border)
if err != nil {
return nil, err
}
originalSize := img.Bounds().Size()
resultImage := image.NewRGBA(img.Bounds())
Expand Down
4 changes: 2 additions & 2 deletions convolution/convolution_test.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package convolution

import (
"github.com/Ernyoke/Imger/padding"
"github.com/Ernyoke/Imger/utils"
"github.com/ernyoke/imger/padding"
"github.com/ernyoke/imger/utils"
"image"
"testing"
)
Expand Down
14 changes: 14 additions & 0 deletions convolution/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
module github.com/ernyoke/imger/convolution

go 1.18

replace github.com/ernyoke/imger/utils => ../utils

replace github.com/ernyoke/imger/padding => ../padding

replace github.com/ernyoke/imger/imgio => ../imgio

require (
github.com/ernyoke/imger/padding v0.0.0-00010101000000-000000000000
github.com/ernyoke/imger/utils v0.0.0-00010101000000-000000000000
)
2 changes: 1 addition & 1 deletion convolution/kernel.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ func (k *Kernel) Size() image.Point {
return image.Point{X: k.Width, Y: k.Height}
}

// Absum returns the sum of every absolute value from a kernel.
// AbSum returns the sum of every absolute value from a kernel.
func (k *Kernel) AbSum() float64 {
var sum float64
for x := 0; x < k.Height; x++ {
Expand Down
8 changes: 4 additions & 4 deletions edgedetection/canny.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ package edgedetection

import (
"errors"
"github.com/Ernyoke/Imger/blur"
"github.com/Ernyoke/Imger/grayscale"
"github.com/Ernyoke/Imger/padding"
"github.com/Ernyoke/Imger/utils"
"github.com/ernyoke/imger/blur"
"github.com/ernyoke/imger/grayscale"
"github.com/ernyoke/imger/padding"
"github.com/ernyoke/imger/utils"
"image"
"image/color"
"math"
Expand Down
2 changes: 1 addition & 1 deletion edgedetection/canny_test.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package edgedetection

import (
"github.com/Ernyoke/Imger/imgio"
"github.com/ernyoke/imger/imgio"
"image"
"testing"
)
Expand Down
27 changes: 27 additions & 0 deletions edgedetection/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
module github.com/ernyoke/imger/edgedetection

go 1.18

replace github.com/ernyoke/imger/utils => ../utils

replace github.com/ernyoke/imger/padding => ../padding

replace github.com/ernyoke/imger/blur => ../blur

replace github.com/ernyoke/imger/grayscale => ../grayscale

replace github.com/ernyoke/imger/convolution => ../convolution

replace github.com/ernyoke/imger/blend => ../blend

replace github.com/ernyoke/imger/imgio => ../imgio

require (
github.com/ernyoke/imger/blend v0.0.0-00010101000000-000000000000
github.com/ernyoke/imger/blur v0.0.0-00010101000000-000000000000
github.com/ernyoke/imger/convolution v0.0.0-00010101000000-000000000000
github.com/ernyoke/imger/grayscale v0.0.0-00010101000000-000000000000
github.com/ernyoke/imger/imgio v0.0.0-00010101000000-000000000000
github.com/ernyoke/imger/padding v0.0.0-00010101000000-000000000000
github.com/ernyoke/imger/utils v0.0.0-00010101000000-000000000000
)
Empty file added edgedetection/go.sum
Empty file.
6 changes: 3 additions & 3 deletions edgedetection/laplacian.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ package edgedetection

import (
"errors"
"github.com/Ernyoke/Imger/convolution"
"github.com/Ernyoke/Imger/grayscale"
"github.com/Ernyoke/Imger/padding"
"github.com/ernyoke/imger/convolution"
"github.com/ernyoke/imger/grayscale"
"github.com/ernyoke/imger/padding"
"image"
)

Expand Down
4 changes: 2 additions & 2 deletions edgedetection/laplacian_test.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package edgedetection

import (
"github.com/Ernyoke/Imger/imgio"
"github.com/Ernyoke/Imger/padding"
"github.com/ernyoke/imger/imgio"
"github.com/ernyoke/imger/padding"
"image"
"testing"
)
Expand Down
8 changes: 4 additions & 4 deletions edgedetection/sobel.go
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package edgedetection

import (
"github.com/Ernyoke/Imger/blend"
"github.com/Ernyoke/Imger/convolution"
"github.com/Ernyoke/Imger/grayscale"
"github.com/Ernyoke/Imger/padding"
"github.com/ernyoke/imger/blend"
"github.com/ernyoke/imger/convolution"
"github.com/ernyoke/imger/grayscale"
"github.com/ernyoke/imger/padding"
"image"
)

Expand Down
4 changes: 2 additions & 2 deletions edgedetection/sobel_test.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package edgedetection

import (
"github.com/Ernyoke/Imger/imgio"
"github.com/Ernyoke/Imger/padding"
"github.com/ernyoke/imger/imgio"
"github.com/ernyoke/imger/padding"
"image"
"testing"
)
Expand Down
12 changes: 6 additions & 6 deletions effects/effects.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ package effects

import (
"errors"
"github.com/Ernyoke/Imger/blend"
"github.com/Ernyoke/Imger/convolution"
"github.com/Ernyoke/Imger/grayscale"
"github.com/Ernyoke/Imger/padding"
"github.com/Ernyoke/Imger/resize"
"github.com/Ernyoke/Imger/utils"
"github.com/ernyoke/imger/blend"
"github.com/ernyoke/imger/convolution"
"github.com/ernyoke/imger/grayscale"
"github.com/ernyoke/imger/padding"
"github.com/ernyoke/imger/resize"
"github.com/ernyoke/imger/utils"
"image"
"image/color"
)
Expand Down
4 changes: 2 additions & 2 deletions effects/effects_test.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package effects

import (
"github.com/Ernyoke/Imger/imgio"
"github.com/Ernyoke/Imger/utils"
"github.com/ernyoke/imger/imgio"
"github.com/ernyoke/imger/utils"
"image"
"testing"
)
Expand Down
27 changes: 27 additions & 0 deletions effects/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
module github.com/ernyoke/imger/effects

go 1.18

replace github.com/ernyoke/imger/utils => ../utils

replace github.com/ernyoke/imger/padding => ../padding

replace github.com/ernyoke/imger/grayscale => ../grayscale

replace github.com/ernyoke/imger/convolution => ../convolution

replace github.com/ernyoke/imger/blend => ../blend

replace github.com/ernyoke/imger/resize => ../resize

replace github.com/ernyoke/imger/imgio => ../imgio

require (
github.com/ernyoke/imger/blend v0.0.0-00010101000000-000000000000
github.com/ernyoke/imger/convolution v0.0.0-00010101000000-000000000000
github.com/ernyoke/imger/grayscale v0.0.0-00010101000000-000000000000
github.com/ernyoke/imger/imgio v0.0.0-00010101000000-000000000000
github.com/ernyoke/imger/padding v0.0.0-00010101000000-000000000000
github.com/ernyoke/imger/resize v0.0.0-00010101000000-000000000000
github.com/ernyoke/imger/utils v0.0.0-00010101000000-000000000000
)
2 changes: 1 addition & 1 deletion generate/generate_test.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package generate

import (
"github.com/Ernyoke/Imger/imgio"
"github.com/ernyoke/imger/imgio"
"image"
"image/color"
"testing"
Expand Down
7 changes: 7 additions & 0 deletions generate/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
module github.com/ernyoke/imger/generate

go 1.18

replace github.com/ernyoke/imger/imgio => ../imgio

require github.com/ernyoke/imger/imgio v0.0.0-00010101000000-000000000000
3 changes: 3 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module github.com/ernyoke/imger

go 1.18
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
github.com/Ernyoke/Imger v0.0.0-20210929183401-55700becd332 h1:t3vx6WXzlA8w/4yiYUGru1MrzBvicWz/XuNdGVtdLHA=
github.com/Ernyoke/Imger v0.0.0-20210929183401-55700becd332/go.mod h1:WPxIrfWBcjJahioCwGzQFtyws0szWdMlm9g0vcBruAg=
12 changes: 12 additions & 0 deletions grayscale/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
module github.com/ernyoke/imger/grayscale

go 1.18

replace github.com/ernyoke/imger/utils => ../utils

replace github.com/ernyoke/imger/imgio => ../imgio

require (
github.com/ernyoke/imger/imgio v0.0.0-00010101000000-000000000000
github.com/ernyoke/imger/utils v0.0.0-00010101000000-000000000000
)
Empty file added grayscale/go.sum
Empty file.
Loading

0 comments on commit 8db0e95

Please sign in to comment.