public void indexFCTH(String IndexFile){
		System.out.println("Indexing FCTH descriptor");
		System.out.println("Indexing images in " + FileLocation);
        
        //Get all files from sub directory
		ArrayList<String> imagePaths = getFilesFromDirectory();
        
        //create standard config file for the index writer 
        IndexWriterConfig conf = new IndexWriterConfig(LuceneUtils.LUCENE_VERSION, 
        												new WhitespaceAnalyzer(LuceneUtils.LUCENE_VERSION));
        
        try {
        	indexWriter = new IndexWriter(FSDirectory.open(new File(IndexFile)), conf);
        	System.out.println("created FCTH index");
		} catch (IOException e) {
			System.err.println("Could not create FCTH file indexer");
		}
        
        // Iterating through images in the directory, building the FCTH features
        for (Iterator<String> it = imagePaths.iterator(); it.hasNext(); ) {
            String imageFilePath = it.next();
            System.out.println("Indexing " + imageFilePath);
            
            try {
            	//load the image as a buffered image (works multiple features from a single image)
                BufferedImage img = ImageIO.read(new FileInputStream(imageFilePath));
                //create the CEDD document using the document factory, then add to the index
                Document document = builder.createDocument(img, imageFilePath);
                indexWriter.addDocument(document);
            } catch (Exception e) {
                System.err.println("Error indexing images.");
            }
        }
        
        //close the writer
        try {
        	indexWriter.close();
		} catch (IOException e) {
			System.err.println("Error closing FCTH image indexer.");
		}
        System.out.println("FCTH descriptor: Finished indexing.");
	}