summaryrefslogtreecommitdiff
path: root/src/bjc
diff options
context:
space:
mode:
authorBenjamin Culkin <bjculkin@mix.wvu.edu>2018-04-27 15:40:15 -0700
committerBenjamin Culkin <bjculkin@mix.wvu.edu>2018-04-27 15:40:15 -0700
commit251389fde5a3ae708d61d113bb55d934729f18db (patch)
tree2ad6ca4a374df7816094abab96d15d3102ba9984 /src/bjc
parenta390222aeb0c5bf6982108e6fc0b492e97e43b39 (diff)
Fix bugs
Diffstat (limited to 'src/bjc')
-rw-r--r--src/bjc/imgchain/ImgPipeline.java11
-rw-r--r--src/bjc/imgchain/pipeline/MutablePipeline.java16
-rw-r--r--src/bjc/imgchain/pipeline/PipelineStage.java2
-rw-r--r--src/bjc/imgchain/pipeline/stages/AbstractPixelStage.java6
-rw-r--r--src/bjc/imgchain/pipeline/stages/AddMaskStage.java3
-rw-r--r--src/bjc/imgchain/pipeline/stages/BrightnessStage.java7
-rw-r--r--src/bjc/imgchain/pipeline/stages/ColorSkewStage.java34
-rw-r--r--src/bjc/imgchain/pipeline/stages/GaussStage.java7
-rw-r--r--src/bjc/imgchain/pipeline/stages/GreyscaleStage.java1
-rw-r--r--src/bjc/imgchain/pipeline/stages/LoadStage.java1
-rw-r--r--src/bjc/imgchain/pipeline/stages/NegativeStage.java3
-rw-r--r--src/bjc/imgchain/pipeline/stages/PipeStage.java1
-rw-r--r--src/bjc/imgchain/pipeline/stages/RecallStage.java3
-rw-r--r--src/bjc/imgchain/pipeline/stages/SaveStage.java5
-rw-r--r--src/bjc/imgchain/pipeline/stages/StagePicker.java3
-rw-r--r--src/bjc/imgchain/pipeline/stages/StashStage.java3
-rw-r--r--src/bjc/imgchain/pipeline/stages/SubMaskStage.java5
-rw-r--r--src/bjc/imgchain/pipeline/stages/ThresholdStage.java12
18 files changed, 63 insertions, 60 deletions
diff --git a/src/bjc/imgchain/ImgPipeline.java b/src/bjc/imgchain/ImgPipeline.java
index 0e4a7d9..ff67679 100644
--- a/src/bjc/imgchain/ImgPipeline.java
+++ b/src/bjc/imgchain/ImgPipeline.java
@@ -93,12 +93,14 @@ public class ImgPipeline extends JInternalFrame {
stageEditor.removeAll();
- stageEditor.add(stag.getEditor(), BorderLayout.CENTER);
- border.setTitle(stag.name());
+ if (stag != null) {
+ stageEditor.add(stag.getEditor(), BorderLayout.CENTER);
+ border.setTitle(stag.name());
+ }
stageEditor.repaint();
});
-
+
JScrollPane stageScroll = new JScrollPane(stageList);
JPanel listPanel = new JPanel();
@@ -148,6 +150,7 @@ public class ImgPipeline extends JInternalFrame {
*/
stag = new ColorSkewStage(.393, .769, .189, .349, .686, .168, .272, .534, .131);
}
+ break;
case "Negative": {
stag = new NegativeStage();
}
@@ -160,7 +163,7 @@ public class ImgPipeline extends JInternalFrame {
stag = new BrightnessStage();
}
break;
- case "Threshold": {
+ case "Colorized Threshold": {
stag = new ThresholdStage();
}
break;
diff --git a/src/bjc/imgchain/pipeline/MutablePipeline.java b/src/bjc/imgchain/pipeline/MutablePipeline.java
index d1d228d..98b4ff9 100644
--- a/src/bjc/imgchain/pipeline/MutablePipeline.java
+++ b/src/bjc/imgchain/pipeline/MutablePipeline.java
@@ -37,7 +37,7 @@ public class MutablePipeline implements Pipeline {
* Create a new named mutable pipeline.
*
* @param name
- * The name of the pipeline.
+ * The name of the pipeline.
*/
public MutablePipeline(String name) {
stages = new ArrayList<>();
@@ -52,7 +52,7 @@ public class MutablePipeline implements Pipeline {
int i = 1;
for (PipelineStage stage : stages) {
- System.out.println("Applying stage " + stage.name());
+ System.out.println("Applying stage " + stage.name() + "(" + stage.toString() + ")");
proc = stage.process(proc);
@@ -78,7 +78,7 @@ public class MutablePipeline implements Pipeline {
* Set the name of the pipeline.
*
* @param nam
- * The name of the pipeline.
+ * The name of the pipeline.
*/
public void name(String nam) {
name = nam;
@@ -88,9 +88,10 @@ public class MutablePipeline implements Pipeline {
* Append a pipeline stage to the end of this pipeline.
*
* @param stag
- * The stage to add.
+ * The stage to add.
*/
public void addStage(PipelineStage stag) {
+ System.out.println("Adding stage " + stag);
stages.add(stag);
}
@@ -98,9 +99,10 @@ public class MutablePipeline implements Pipeline {
* Remove a pipeline stage.
*
* @param stag
- * The stage to remove.
+ * The stage to remove.
*/
public void removeStage(PipelineStage stag) {
+ System.out.println("Removing stage " + stag);
stages.remove(stag);
}
@@ -108,10 +110,12 @@ public class MutablePipeline implements Pipeline {
* Remove a pipeline stage by index.
*
* @param idx
- * The index of the stage to remove.
+ * The index of the stage to remove.
*/
public void removeStage(int idx) {
+ System.out.println("Removing stage # " + idx);
stages.remove(idx);
+ System.out.println("Pipeline contains " + stages.size() + " stages");
}
}
diff --git a/src/bjc/imgchain/pipeline/PipelineStage.java b/src/bjc/imgchain/pipeline/PipelineStage.java
index 46966c3..298c9b4 100644
--- a/src/bjc/imgchain/pipeline/PipelineStage.java
+++ b/src/bjc/imgchain/pipeline/PipelineStage.java
@@ -46,7 +46,7 @@ public interface PipelineStage {
/**
* Get an editor for this stage.
*
- * @return
+ * @return The editor for the stage
*/
JComponent getEditor();
}
diff --git a/src/bjc/imgchain/pipeline/stages/AbstractPixelStage.java b/src/bjc/imgchain/pipeline/stages/AbstractPixelStage.java
index 1317c12..4b65c85 100644
--- a/src/bjc/imgchain/pipeline/stages/AbstractPixelStage.java
+++ b/src/bjc/imgchain/pipeline/stages/AbstractPixelStage.java
@@ -16,7 +16,7 @@ public abstract class AbstractPixelStage extends AbstractPipelineStage {
public Image process(Image inp) {
BufferedImage buf = (BufferedImage) inp;
- //BufferedImage res = new BufferedImage(buf.getWidth(), buf.getHeight(), BufferedImage.TYPE_INT_ARGB);
+ BufferedImage res = new BufferedImage(buf.getWidth(), buf.getHeight(), BufferedImage.TYPE_INT_ARGB);
for (int y = 0; y < buf.getHeight(); y++) {
for (int x = 0; x < buf.getWidth(); x++) {
@@ -24,11 +24,11 @@ public abstract class AbstractPixelStage extends AbstractPipelineStage {
int[] processedPixel = processPixel(pix);
- buf.setRGB(x, y, Utils.fromARGBQuad(processedPixel));
+ res.setRGB(x, y, Utils.fromARGBQuad(processedPixel));
}
}
- return buf;
+ return res;
}
public abstract int[] processPixel(int[] pix);
diff --git a/src/bjc/imgchain/pipeline/stages/AddMaskStage.java b/src/bjc/imgchain/pipeline/stages/AddMaskStage.java
index 50e5a7a..f2370a9 100644
--- a/src/bjc/imgchain/pipeline/stages/AddMaskStage.java
+++ b/src/bjc/imgchain/pipeline/stages/AddMaskStage.java
@@ -52,11 +52,10 @@ public class AddMaskStage extends AbstractPipelineStage {
public JComponent getEditor() {
ImgPickerPanel pan = new ImgPickerPanel("Mask name");
- pan.imgField.addPropertyChangeListener("value", (ev) -> {
+ pan.imgField.field.addPropertyChangeListener("value", (ev) -> {
masqueName = pan.imgField.field.getText();
});
return pan;
}
-
}
diff --git a/src/bjc/imgchain/pipeline/stages/BrightnessStage.java b/src/bjc/imgchain/pipeline/stages/BrightnessStage.java
index ae31dcc..5a72a23 100644
--- a/src/bjc/imgchain/pipeline/stages/BrightnessStage.java
+++ b/src/bjc/imgchain/pipeline/stages/BrightnessStage.java
@@ -82,15 +82,15 @@ public class BrightnessStage extends AbstractPixelStage {
LabeledInputPanel bpercBlue = new LabeledInputPanel("+/- Blue", bb);
bSkew.add(bpercBlue);
- rpercRed.addPropertyChangeListener("value", (ev) -> {
+ rpercRed.field.addPropertyChangeListener("value", (ev) -> {
rr = (Integer)rpercRed.field.getValue();
});
- gpercGreen.addPropertyChangeListener("value", (ev) -> {
+ gpercGreen.field.addPropertyChangeListener("value", (ev) -> {
gg = (Integer)gpercGreen.field.getValue();
});
- bpercBlue.addPropertyChangeListener("value", (ev) -> {
+ bpercBlue.field.addPropertyChangeListener("value", (ev) -> {
bb = (Integer)bpercBlue.field.getValue();
});
@@ -100,5 +100,4 @@ public class BrightnessStage extends AbstractPixelStage {
return holder;
}
-
} \ No newline at end of file
diff --git a/src/bjc/imgchain/pipeline/stages/ColorSkewStage.java b/src/bjc/imgchain/pipeline/stages/ColorSkewStage.java
index ba9d127..9f17eee 100644
--- a/src/bjc/imgchain/pipeline/stages/ColorSkewStage.java
+++ b/src/bjc/imgchain/pipeline/stages/ColorSkewStage.java
@@ -45,9 +45,9 @@ public class ColorSkewStage extends AbstractPixelStage {
ret[2] = (int) ((pix[1] * gr) + (pix[2] * gg) + (pix[3] * gb));
ret[3] = (int) ((pix[1] * br) + (pix[2] * bg) + (pix[3] * bb));
- ret[1] = Math.min(255, ret[1]);
- ret[2] = Math.min(255, ret[2]);
- ret[3] = Math.min(255, ret[3]);
+ ret[1] = Math.max(Math.min(255, ret[1]), 0);
+ ret[2] = Math.max(Math.min(255, ret[2]), 0);
+ ret[3] = Math.max(Math.min(255, ret[3]), 0);
return ret;
}
@@ -101,33 +101,42 @@ public class ColorSkewStage extends AbstractPixelStage {
bSkew.add(bpercGreen);
bSkew.add(bpercBlue);
- rpercRed.addPropertyChangeListener("value", (ev) -> {
+ rpercRed.field.addPropertyChangeListener("value", (ev) -> {
+ System.out.println("TRIGGERED rr");
rr = (Double)rpercRed.field.getValue();
});
- gpercRed.addPropertyChangeListener("value", (ev) -> {
+ gpercRed.field.addPropertyChangeListener("value", (ev) -> {
+ System.out.println("TRIGGERED rr");
gr = (Double)gpercRed.field.getValue();
});
- bpercRed.addPropertyChangeListener("value", (ev) -> {
+ bpercRed.field.addPropertyChangeListener("value", (ev) -> {
+ System.out.println("TRIGGERED rr");
br = (Double)bpercRed.field.getValue();
});
- rpercGreen.addPropertyChangeListener("value", (ev) -> {
+ rpercGreen.field.addPropertyChangeListener("value", (ev) -> {
+ System.out.println("TRIGGERED rr");
rg = (Double)rpercGreen.field.getValue();
});
- gpercGreen.addPropertyChangeListener("value", (ev) -> {
+ gpercGreen.field.addPropertyChangeListener("value", (ev) -> {
+ System.out.println("TRIGGERED rr");
gg = (Double)gpercGreen.field.getValue();
});
- bpercGreen.addPropertyChangeListener("value", (ev) -> {
+ bpercGreen.field.addPropertyChangeListener("value", (ev) -> {
+ System.out.println("TRIGGERED rr");
bg = (Double)bpercGreen.field.getValue();
});
- rpercBlue.addPropertyChangeListener("value", (ev) -> {
+ rpercBlue.field.addPropertyChangeListener("value", (ev) -> {
+ System.out.println("TRIGGERED rr");
rb = (Double)rpercBlue.field.getValue();
});
- gpercBlue.addPropertyChangeListener("value", (ev) -> {
+ gpercBlue.field.addPropertyChangeListener("value", (ev) -> {
+ System.out.println("TRIGGERED rr");
gb = (Double)gpercBlue.field.getValue();
});
- bpercBlue.addPropertyChangeListener("value", (ev) -> {
+ bpercBlue.field.addPropertyChangeListener("value", (ev) -> {
+ System.out.println("TRIGGERED rr");
bb = (Double)bpercBlue.field.getValue();
});
@@ -137,5 +146,4 @@ public class ColorSkewStage extends AbstractPixelStage {
return holder;
}
-
}
diff --git a/src/bjc/imgchain/pipeline/stages/GaussStage.java b/src/bjc/imgchain/pipeline/stages/GaussStage.java
index 2b04ddf..6460062 100644
--- a/src/bjc/imgchain/pipeline/stages/GaussStage.java
+++ b/src/bjc/imgchain/pipeline/stages/GaussStage.java
@@ -88,15 +88,15 @@ public class GaussStage extends AbstractPipelineStage {
holder.setLayout(new GridLayout(3, 1));
LabeledInputPanel mField = new LabeledInputPanel("Size of kernel", 3);
- mField.addPropertyChangeListener("value", (ev) -> {
+ mField.field.addPropertyChangeListener("value", (ev) -> {
m = (Integer) mField.field.getValue();
});
LabeledInputPanel sigField = new LabeledInputPanel("Value for sigma", 3.0);
- sigField.addPropertyChangeListener("value", (ev) -> {
+ sigField.field.addPropertyChangeListener("value", (ev) -> {
sig = (Double) sigField.field.getValue();
});
LabeledInputPanel kField = new LabeledInputPanel("Value for k", 1.0);
- kField.addPropertyChangeListener("value", (ev) -> {
+ kField.field.addPropertyChangeListener("value", (ev) -> {
k = (Double) kField.field.getValue();
});
@@ -106,5 +106,4 @@ public class GaussStage extends AbstractPipelineStage {
return holder;
}
-
}
diff --git a/src/bjc/imgchain/pipeline/stages/GreyscaleStage.java b/src/bjc/imgchain/pipeline/stages/GreyscaleStage.java
index 71bb743..5997d57 100644
--- a/src/bjc/imgchain/pipeline/stages/GreyscaleStage.java
+++ b/src/bjc/imgchain/pipeline/stages/GreyscaleStage.java
@@ -41,5 +41,4 @@ public class GreyscaleStage extends AbstractPixelStage {
public JComponent getEditor() {
return new JLabel("No configuration possible");
}
-
}
diff --git a/src/bjc/imgchain/pipeline/stages/LoadStage.java b/src/bjc/imgchain/pipeline/stages/LoadStage.java
index ed63a89..5b5c00f 100644
--- a/src/bjc/imgchain/pipeline/stages/LoadStage.java
+++ b/src/bjc/imgchain/pipeline/stages/LoadStage.java
@@ -83,5 +83,4 @@ public class LoadStage extends AbstractPipelineStage {
return holder;
}
-
}
diff --git a/src/bjc/imgchain/pipeline/stages/NegativeStage.java b/src/bjc/imgchain/pipeline/stages/NegativeStage.java
index 028139c..b1f6dfa 100644
--- a/src/bjc/imgchain/pipeline/stages/NegativeStage.java
+++ b/src/bjc/imgchain/pipeline/stages/NegativeStage.java
@@ -28,6 +28,5 @@ public class NegativeStage extends AbstractPixelStage {
@Override
public int[] processPixel(int[] pix) {
return new int[] { pix[0], 255 - pix[1], 255 - pix[2], 255 - pix[3] };
- }
-
+ }
}
diff --git a/src/bjc/imgchain/pipeline/stages/PipeStage.java b/src/bjc/imgchain/pipeline/stages/PipeStage.java
index 1472a3c..a38717f 100644
--- a/src/bjc/imgchain/pipeline/stages/PipeStage.java
+++ b/src/bjc/imgchain/pipeline/stages/PipeStage.java
@@ -71,5 +71,4 @@ public class PipeStage extends AbstractPipelineStage {
return holder;
}
-
}
diff --git a/src/bjc/imgchain/pipeline/stages/RecallStage.java b/src/bjc/imgchain/pipeline/stages/RecallStage.java
index db5b760..b7b82ba 100644
--- a/src/bjc/imgchain/pipeline/stages/RecallStage.java
+++ b/src/bjc/imgchain/pipeline/stages/RecallStage.java
@@ -39,11 +39,10 @@ public class RecallStage extends AbstractPipelineStage {
public JComponent getEditor() {
ImgPickerPanel pan = new ImgPickerPanel();
- pan.imgField.addPropertyChangeListener("value", (ev) -> {
+ pan.imgField.field.addPropertyChangeListener("value", (ev) -> {
stashName = pan.imgField.field.getText();
});
return pan;
}
-
}
diff --git a/src/bjc/imgchain/pipeline/stages/SaveStage.java b/src/bjc/imgchain/pipeline/stages/SaveStage.java
index a4c3041..aba875f 100644
--- a/src/bjc/imgchain/pipeline/stages/SaveStage.java
+++ b/src/bjc/imgchain/pipeline/stages/SaveStage.java
@@ -24,7 +24,7 @@ public class SaveStage extends AbstractPipelineStage {
public SaveStage() {
super(StageType.IMGSINK);
}
-
+
@Override
public Image process(Image inp) {
try {
@@ -39,7 +39,7 @@ public class SaveStage extends AbstractPipelineStage {
JOptionPane.showInternalMessageDialog(null, msg, "Error saving image",
JOptionPane.ERROR_MESSAGE);
}
-
+
return inp;
}
@@ -85,5 +85,4 @@ public class SaveStage extends AbstractPipelineStage {
return holder;
}
-
}
diff --git a/src/bjc/imgchain/pipeline/stages/StagePicker.java b/src/bjc/imgchain/pipeline/stages/StagePicker.java
index e627179..a62b15e 100644
--- a/src/bjc/imgchain/pipeline/stages/StagePicker.java
+++ b/src/bjc/imgchain/pipeline/stages/StagePicker.java
@@ -37,7 +37,8 @@ public class StagePicker extends JDialog {
{ "Greyscale", "Convert a color image into greyscale" },
{ "Color Skew", "Adjust color balance" }, { "Sepia", "Make your image sepia toned" },
{ "Negative", "Invert your images colors" }, { "Gaussian Blur", "Blur images" },
- { "Tint", "Add/remove colors" }, { "Threshold", "Convert the image to black/white" },
+ { "Tint", "Add/remove colors" },
+ { "Colorized Threshold", "Convert the image to three-tone" },
{ "Sub-pipeline", "Execute another pipeline" },
{ "Load Image", "Load an image from a file" },
{ "Save Image", "Save an image to a file" },
diff --git a/src/bjc/imgchain/pipeline/stages/StashStage.java b/src/bjc/imgchain/pipeline/stages/StashStage.java
index 0b7e626..67c343e 100644
--- a/src/bjc/imgchain/pipeline/stages/StashStage.java
+++ b/src/bjc/imgchain/pipeline/stages/StashStage.java
@@ -35,11 +35,10 @@ public class StashStage extends AbstractPipelineStage {
@Override
public JComponent getEditor() {
LabeledInputPanel imgName = new LabeledInputPanel("Image name", "");
- imgName.addPropertyChangeListener("value", (ev) -> {
+ imgName.field.addPropertyChangeListener("value", (ev) -> {
stashName = imgName.field.getText();
});
return imgName;
}
-
}
diff --git a/src/bjc/imgchain/pipeline/stages/SubMaskStage.java b/src/bjc/imgchain/pipeline/stages/SubMaskStage.java
index 20a58ab..1503934 100644
--- a/src/bjc/imgchain/pipeline/stages/SubMaskStage.java
+++ b/src/bjc/imgchain/pipeline/stages/SubMaskStage.java
@@ -52,11 +52,10 @@ public class SubMaskStage extends AbstractPipelineStage {
public JComponent getEditor() {
ImgPickerPanel pan = new ImgPickerPanel("Mask name");
- pan.imgField.addPropertyChangeListener("value", (ev) -> {
+ pan.imgField.field.addPropertyChangeListener("value", (ev) -> {
masqueName = pan.imgField.field.getText();
});
return pan;
- }
-
+ }
}
diff --git a/src/bjc/imgchain/pipeline/stages/ThresholdStage.java b/src/bjc/imgchain/pipeline/stages/ThresholdStage.java
index 5a72946..ec00bcc 100644
--- a/src/bjc/imgchain/pipeline/stages/ThresholdStage.java
+++ b/src/bjc/imgchain/pipeline/stages/ThresholdStage.java
@@ -46,12 +46,12 @@ public class ThresholdStage extends AbstractPixelStage {
@Override
public String name() {
- return "Tint";
+ return "Colorized Threshold";
}
@Override
public String description() {
- return "Add/remove colors";
+ return "Convert image into three-tone";
}
@Override
@@ -73,7 +73,6 @@ public class ThresholdStage extends AbstractPixelStage {
LabeledInputPanel rpercRed = new LabeledInputPanel("Red", redThreshold);
rSkew.add(rpercRed);
- ;
LabeledInputPanel gpercGreen = new LabeledInputPanel("Green", greenThreshold);
gSkew.add(gpercGreen);
@@ -81,15 +80,15 @@ public class ThresholdStage extends AbstractPixelStage {
LabeledInputPanel bpercBlue = new LabeledInputPanel("Blue", blueThreshold);
bSkew.add(bpercBlue);
- rpercRed.addPropertyChangeListener("value", (ev) -> {
+ rpercRed.field.addPropertyChangeListener("value", (ev) -> {
redThreshold = (Integer) rpercRed.field.getValue();
});
- gpercGreen.addPropertyChangeListener("value", (ev) -> {
+ gpercGreen.field.addPropertyChangeListener("value", (ev) -> {
greenThreshold = (Integer) gpercGreen.field.getValue();
});
- bpercBlue.addPropertyChangeListener("value", (ev) -> {
+ bpercBlue.field.addPropertyChangeListener("value", (ev) -> {
blueThreshold = (Integer) bpercBlue.field.getValue();
});
@@ -99,5 +98,4 @@ public class ThresholdStage extends AbstractPixelStage {
return holder;
}
-
} \ No newline at end of file