protected void switchChannel(String toReplace, String replacing) {
		if (toReplace.equals(replacing.toLowerCase())) { //Nothing to edit, reload the initial picture
			
			this.changePicture(this.getRelURL());
			this.revalidateContainer();
			reloadChanges();
			return;
		}
		
		BufferedImage toEdit = null;
		try {
			toEdit = getOriginalBufferedImage();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		FilteredImageSource filteredSrc = null;
		ColorSwapper filter = null;

			filter = new ColorSwapper();
			int[] redShift = {-1, -1, -1}, greenShift = {-1, -1, -1}, blueShift = {-1, -1, -1};
			int redShiftIndex = 0, greenShiftIndex = 0, blueShiftIndex = 0;
			boolean[] greenLeftShift = new boolean[3];
			boolean[] hideRed = {false, false, false}, hideGreen = {false, false, false}, hideBlue = {false, false, false};
			for (int i =0; i < 3; i++ ) {
				if (((String)selectors[i].getSelectedItem()).toLowerCase().equals("infrared")) {
					
					redShift[redShiftIndex] = getShift("infrared", labels[i]);
					
					System.out.println("Adding to red shifts: " + redShift[redShiftIndex]);
					redShiftIndex++;
				} else if (((String)selectors[i].getSelectedItem()).toLowerCase().equals("red")) {
					greenShift[greenShiftIndex] = getShift("red", labels[i]);
					if (greenShift[greenShiftIndex] == -8) {
						greenLeftShift[greenShiftIndex] = true;
						greenShift[greenShiftIndex] = 8;
					}
					
					System.out.println("Adding to green shifts: " + greenShift[greenShiftIndex] + " " + greenLeftShift[greenShiftIndex]);
					greenShiftIndex++;

				} else if (((String)selectors[i].getSelectedItem()).toLowerCase().equals("green")) {
					blueShift[blueShiftIndex] = getShift("green", labels[i]);
					System.out.println("Adding to blue shifts: " + blueShift[blueShiftIndex]);
					blueShiftIndex++;
				} else {
					System.out.println("HIDING A COLOR");
					if (labels[i].equals("Infrared")) {
						hideRed[redShiftIndex] = true;
						redShiftIndex++;
					} else if (labels[i].equals("Red")) {
						hideGreen[greenShiftIndex]=true;
						greenShiftIndex++;
					} else {
						hideBlue[blueShiftIndex]=true;
						blueShiftIndex++;
					}
				}
			}
			filter.setBlueColorShift(blueShift);
			filter.setGreenColorShift(greenShift);
			filter.setRedColorShift(redShift);
			filter.setGreenLeftShift(greenLeftShift);
			filter.setHideRed(hideRed);
			filter.setHideGreen(hideGreen);
			filter.setHideBlue(hideBlue);

		filteredSrc = new FilteredImageSource(toEdit.getSource(), filter);
		
		
		Image img = Toolkit.getDefaultToolkit().createImage(filteredSrc);

		this.changePicture(img);
		
	}