public static void main(String[] args) throws Exception {
		
		System.out.println("Please select a folder with your tiled pictures");
		System.out.println("Your pictures will be stiched together from left to right \n in alphabetical order.");
		File file = new File(FileChooser.pickADirectory());
		if(file.listFiles() == null) {
			System.out.println("Please restart, but pick something this time.");
			throw new IllegalArgumentException("Please pick a file");
		}
		
		List<Picture> pictures = new ArrayList<>();
		List<File> childrenFiles = Arrays.asList(file.listFiles());
		
		List<String> childrenPaths = new ArrayList<>();
		
		for (File f : childrenFiles) {
			childrenPaths.add(f.getPath());
		}
		
		Collections.sort(childrenPaths);
		for (String s : childrenPaths) {
			if(s.toLowerCase().endsWith(".jpg") || s.toLowerCase().endsWith(".jpeg")) {
				pictures.add(new Picture(s));
			}
		}
		int maxHeight = 0;
		int Width = 0;
		for(Picture pic : pictures) {
			if (pic.getHeight() > maxHeight) {
				maxHeight = pic.getHeight();
			}
			Width += pic.getWidth();
		}
		
		Picture panorama = new Picture(Width, maxHeight);
		panorama.setAllPixelsToAColor(Color.WHITE);
		int xLoc = 0;
		for(Picture pic : pictures) {
			System.out.println("Amending picture @ " + pic.getFileName());
			for(Pixel picPix : pic.getPixels()) {
				panorama.setBasicPixel(xLoc + picPix.getX(), picPix.getY(), picPix.getColor().getRGB());
			}
			xLoc += pic.getWidth();
		}
		System.out.printf("Showing the final stiched picture made from %d originals", pictures.size());
		panorama.show();
		
	}