def test_indico_api_image_extractor(): ext = IndicoAPIImageExtractor(api_key=os.environ['INDICO_APP_KEY'], models=['fer', 'content_filtering']) image_dir = join(get_test_data_path(), 'image') stim1 = ImageStim(join(image_dir, 'apple.jpg')) result1 = merge_results(ext.transform([stim1, stim1]), extractor_names=False) outdfKeysCheck = { 'object_id', 'fer_Surprise', 'fer_Neutral', 'fer_Sad', 'fer_Happy', 'fer_Angry', 'fer_Fear', 'content_filtering' } meta_columns = { 'source_file', 'history', 'class', 'filename', 'onset', 'duration', 'order' } assert set(result1.columns) - set(['stim_name' ]) == outdfKeysCheck | meta_columns assert result1['content_filtering'][0] < 0.2 stim2 = ImageStim(join(image_dir, 'obama.jpg')) result2 = ext.transform(stim2).to_df(timing=False, object_id=True) assert set(result2.columns) == outdfKeysCheck assert result2['fer_Happy'][0] > 0.7
def test_indico_api_image_extractor(): ext = IndicoAPIImageExtractor(api_key=os.environ['INDICO_APP_KEY'], models=['fer', 'content_filtering']) stim1 = ImageStim(join(IMAGE_DIR, 'apple.jpg')) result1 = merge_results(ext.transform([stim1, stim1]), extractor_names=False) outdfKeysCheck = { 'object_id', 'fer_Surprise', 'fer_Neutral', 'fer_Sad', 'fer_Happy', 'fer_Angry', 'fer_Fear', 'content_filtering'} meta_columns = {'source_file', 'history', 'class', 'filename', 'onset', 'duration', 'order'} assert set(result1.columns) - set(['stim_name']) == outdfKeysCheck | meta_columns assert result1['content_filtering'][0] < 0.2 stim2 = ImageStim(join(IMAGE_DIR, 'obama.jpg')) result2 = ext.transform(stim2).to_df(timing=False, object_id=True) assert set(result2.columns) == outdfKeysCheck assert result2['fer_Happy'][0] > 0.7 url = 'https://via.placeholder.com/350x150' stim = ImageStim(url=url) result = ext.transform(stim).to_df() assert result['fer_Neutral'][0] > 0.
def test_indico_api_image_extractor(): ext = IndicoAPIImageExtractor(api_key=os.environ['INDICO_APP_KEY'], models=['fer', 'content_filtering']) image_dir = join(get_test_data_path(), 'image') stim1 = ImageStim(join(image_dir, 'apple.jpg')) result1 = ext.transform(stim1).to_df() outdfKeysCheck = set(['onset', 'duration', 'fer_Surprise', 'fer_Neutral', 'fer_Sad', 'fer_Happy', 'fer_Angry', 'fer_Fear', 'content_filtering']) assert set(result1.columns) == outdfKeysCheck assert result1['content_filtering'][0] < 0.1 stim2 = ImageStim(join(image_dir, 'obama.jpg')) result2 = ext.transform(stim2).to_df() assert set(result2.columns) == outdfKeysCheck assert result2['fer_Happy'][0] > 0.7
def test_indico_api_image_extractor(): ext = IndicoAPIImageExtractor(api_key=os.environ['INDICO_APP_KEY'], models=['fer', 'content_filtering']) stim1 = ImageStim(join(IMAGE_DIR, 'apple.jpg')) result1 = merge_results(ext.transform([stim1, stim1]), extractor_names=False) outdfKeysCheck = { 'object_id', 'fer_Surprise', 'fer_Neutral', 'fer_Sad', 'fer_Happy', 'fer_Angry', 'fer_Fear', 'content_filtering' } meta_columns = { 'source_file', 'history', 'class', 'filename', 'onset', 'duration', 'order' } assert set(result1.columns) - set(['stim_name' ]) == outdfKeysCheck | meta_columns assert result1['content_filtering'][0] < 0.2 stim2 = ImageStim(join(IMAGE_DIR, 'obama.jpg')) result2 = ext.transform(stim2).to_df(timing=False, object_id=True) assert set(result2.columns) == outdfKeysCheck assert result2['fer_Happy'][0] > 0.7 url = 'https://tuition.utexas.edu/sites/all/themes/tuition/logo.png' stim = ImageStim(url=url) result = ext.transform(stim).to_df() assert result['fer_Neutral'][0] > 0.1
def test_indico_api_extractor_rate_limit(): stim = ImageStim(join(IMAGE_DIR, 'apple.jpg')) stim2 = ImageStim(join(IMAGE_DIR, 'obama.jpg')) ext = IndicoAPIImageExtractor(models=['image_features'], rate_limit=5, batch_size=1) t1 = time.time() ext.transform([stim, stim2]) t2 = time.time() assert t2 - t1 >= 5
def test_indico_api_extractor_rate_limit(): stim = ImageStim(join(IMAGE_DIR, 'apple.jpg')) stim2 = ImageStim(join(IMAGE_DIR, 'obama.jpg')) ext = IndicoAPIImageExtractor(models=['fer'], rate_limit=5) ext._batch_size = 1 t1 = time.time() ext.transform([stim, stim2]) t2 = time.time() assert t2 - t1 >= 5
def test_indico_api_extractor_large(): default = config.get_option('allow_large_jobs') default_large = config.get_option('large_job') config.set_option('allow_large_jobs', False) config.set_option('large_job', 1) ext = IndicoAPIImageExtractor(models=['fer']) images = [ImageStim(join(IMAGE_DIR, 'apple.jpg'))] * 2 with pytest.raises(ValueError): merge_results(ext.transform(images)) config.set_option('allow_large_jobs', True) results = merge_results(ext.transform(images)) assert 'IndicoAPIImageExtractor#fer_Neutral' in results.columns assert results.shape == (1, 15) # not 2 rows cause all the same instance config.set_option('allow_large_jobs', default) config.set_option('large_job', default_large)
def test_indico_api_extractor_large(): default = config.get_option('allow_large_jobs') default_large = config.get_option('large_job') config.set_option('allow_large_jobs', False) config.set_option('large_job', 1) ext = IndicoAPIImageExtractor(models=['fer']) images = [ImageStim(join(IMAGE_DIR, 'apple.jpg')), ImageStim(join(IMAGE_DIR, 'obama.jpg'))] with pytest.raises(ValueError): merge_results(ext.transform(images)) config.set_option('allow_large_jobs', True) results = merge_results(ext.transform(images)) assert 'IndicoAPIImageExtractor#fer_Neutral' in results.columns assert results.shape == (2, 15) config.set_option('allow_large_jobs', default) config.set_option('large_job', default_large)