Error message
Warning: Undefined array key 0 in Drupal\h360_antiquity\Controller\ProjGallController->title() (line 50 of sites/default/modules/h360_antiquity/src/Controller/ProjGallController.php).
Drupal\h360_antiquity\Controller\ProjGallController->title() call_user_func_array() (Line: 58) Drupal\Core\Controller\TitleResolver->getTitle() (Line: 204) Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 245) Drupal\Core\Render\MainContent\HtmlRenderer->prepare() (Line: 128) Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90) Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray() call_user_func() (Line: 111) Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186) Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76) Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53) Drupal\Core\StackMiddleware\Session->handle() (Line: 48) Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28) Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32) Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 201) Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 138) Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 87) Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48) Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51) Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36) Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51) Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741) Drupal\Core\DrupalKernel->handle() (Line: 19)Deprecated function: strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated in Drupal\h360_antiquity\Controller\ProjGallController->title() (line 50 of sites/default/modules/h360_antiquity/src/Controller/ProjGallController.php).
Drupal\h360_antiquity\Controller\ProjGallController->title() call_user_func_array() (Line: 58) Drupal\Core\Controller\TitleResolver->getTitle() (Line: 204) Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 245) Drupal\Core\Render\MainContent\HtmlRenderer->prepare() (Line: 128) Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90) Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray() call_user_func() (Line: 111) Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186) Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76) Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53) Drupal\Core\StackMiddleware\Session->handle() (Line: 48) Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28) Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32) Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 201) Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 138) Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 87) Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48) Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51) Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36) Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51) Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741) Drupal\Core\DrupalKernel->handle() (Line: 19)Warning: Undefined array key 0 in Drupal\h360_antiquity\Controller\ProjGallController->title() (line 50 of sites/default/modules/h360_antiquity/src/Controller/ProjGallController.php).
Drupal\h360_antiquity\Controller\ProjGallController->title() call_user_func_array() (Line: 58) Drupal\Core\Controller\TitleResolver->getTitle() (Line: 880) token_tokens() call_user_func_array() (Line: 416) Drupal\Core\Extension\ModuleHandler->Drupal\Core\Extension\{closure}() (Line: 395) Drupal\Core\Extension\ModuleHandler->invokeAllWith() (Line: 423) Drupal\Core\Extension\ModuleHandler->invokeAll() (Line: 364) Drupal\Core\Utility\Token->generate() (Line: 241) Drupal\Core\Utility\Token->doReplace() (Line: 191) Drupal\Core\Utility\Token->replace() (Line: 66) Drupal\metatag\MetatagToken->replace() (Line: 791) Drupal\metatag\MetatagManager->processTagValue() (Line: 634) Drupal\metatag\MetatagManager->generateRawElements() (Line: 573) Drupal\metatag\MetatagManager->generateElements() (Line: 510) metatag_get_tags_from_route() (Line: 137) metatag_page_attachments() (Line: 311) Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 395) Drupal\Core\Extension\ModuleHandler->invokeAllWith() (Line: 312) Drupal\Core\Render\MainContent\HtmlRenderer->invokePageAttachmentHooks() (Line: 285) Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 637) Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 286) Drupal\Core\Render\MainContent\HtmlRenderer->prepare() (Line: 128) Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90) Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray() call_user_func() (Line: 111) Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186) Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76) Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53) Drupal\Core\StackMiddleware\Session->handle() (Line: 48) Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28) Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32) Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 201) Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 138) Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 87) Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48) Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51) Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36) Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51) Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741) Drupal\Core\DrupalKernel->handle() (Line: 19)Deprecated function: strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated in Drupal\h360_antiquity\Controller\ProjGallController->title() (line 50 of sites/default/modules/h360_antiquity/src/Controller/ProjGallController.php).
Drupal\h360_antiquity\Controller\ProjGallController->title() call_user_func_array() (Line: 58) Drupal\Core\Controller\TitleResolver->getTitle() (Line: 880) token_tokens() call_user_func_array() (Line: 416) Drupal\Core\Extension\ModuleHandler->Drupal\Core\Extension\{closure}() (Line: 395) Drupal\Core\Extension\ModuleHandler->invokeAllWith() (Line: 423) Drupal\Core\Extension\ModuleHandler->invokeAll() (Line: 364) Drupal\Core\Utility\Token->generate() (Line: 241) Drupal\Core\Utility\Token->doReplace() (Line: 191) Drupal\Core\Utility\Token->replace() (Line: 66) Drupal\metatag\MetatagToken->replace() (Line: 791) Drupal\metatag\MetatagManager->processTagValue() (Line: 634) Drupal\metatag\MetatagManager->generateRawElements() (Line: 573) Drupal\metatag\MetatagManager->generateElements() (Line: 510) metatag_get_tags_from_route() (Line: 137) metatag_page_attachments() (Line: 311) Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 395) Drupal\Core\Extension\ModuleHandler->invokeAllWith() (Line: 312) Drupal\Core\Render\MainContent\HtmlRenderer->invokePageAttachmentHooks() (Line: 285) Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 637) Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 286) Drupal\Core\Render\MainContent\HtmlRenderer->prepare() (Line: 128) Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90) Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray() call_user_func() (Line: 111) Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186) Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76) Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53) Drupal\Core\StackMiddleware\Session->handle() (Line: 48) Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28) Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32) Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 201) Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 138) Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 87) Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48) Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51) Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36) Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51) Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741) Drupal\Core\DrupalKernel->handle() (Line: 19)Warning: Undefined array key 0 in Drupal\h360_antiquity\Controller\ProjGallController->title() (line 50 of sites/default/modules/h360_antiquity/src/Controller/ProjGallController.php).
Drupal\h360_antiquity\Controller\ProjGallController->title() call_user_func_array() (Line: 58) Drupal\Core\Controller\TitleResolver->getTitle() (Line: 102) Drupal\easy_breadcrumb\TitleResolver->getTitle() (Line: 782) Drupal\easy_breadcrumb\EasyBreadcrumbBuilder->getTitleString() (Line: 570) Drupal\easy_breadcrumb\EasyBreadcrumbBuilder->build() (Line: 85) Drupal\Core\Breadcrumb\BreadcrumbManager->build() (Line: 73) Drupal\system\Plugin\Block\SystemBreadcrumbBlock->build() (Line: 171) Drupal\block\BlockViewBuilder::preRender() call_user_func_array() (Line: 113) Drupal\Core\Render\Renderer->doTrustedCallback() (Line: 886) Drupal\Core\Render\Renderer->doCallback() (Line: 431) Drupal\Core\Render\Renderer->doRender() (Line: 503) Drupal\Core\Render\Renderer->doRender() (Line: 248) Drupal\Core\Render\Renderer->render() (Line: 484) Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 53) __TwigTemplate_71db388a9298721e1139cf056f3e1614->doDisplay() (Line: 388) Twig\Template->yield() (Line: 344) Twig\Template->display() (Line: 359) Twig\Template->render() (Line: 51) Twig\TemplateWrapper->render() (Line: 33) twig_render_template() (Line: 348) Drupal\Core\Theme\ThemeManager->render() (Line: 490) Drupal\Core\Render\Renderer->doRender() (Line: 248) Drupal\Core\Render\Renderer->render() (Line: 484) Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 94) __TwigTemplate_7d8a581578bd3e78486c1ae0022cc8a8->doDisplay() (Line: 388) Twig\Template->yield() (Line: 344) Twig\Template->display() (Line: 359) Twig\Template->render() (Line: 51) Twig\TemplateWrapper->render() (Line: 33) twig_render_template() (Line: 348) Drupal\Core\Theme\ThemeManager->render() (Line: 490) Drupal\Core\Render\Renderer->doRender() (Line: 248) Drupal\Core\Render\Renderer->render() (Line: 158) Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 637) Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 159) Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90) Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray() call_user_func() (Line: 111) Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186) Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76) Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53) Drupal\Core\StackMiddleware\Session->handle() (Line: 48) Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28) Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32) Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 201) Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 138) Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 87) Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48) Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51) Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36) Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51) Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741) Drupal\Core\DrupalKernel->handle() (Line: 19)Deprecated function: strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated in Drupal\h360_antiquity\Controller\ProjGallController->title() (line 50 of sites/default/modules/h360_antiquity/src/Controller/ProjGallController.php).
Drupal\h360_antiquity\Controller\ProjGallController->title() call_user_func_array() (Line: 58) Drupal\Core\Controller\TitleResolver->getTitle() (Line: 102) Drupal\easy_breadcrumb\TitleResolver->getTitle() (Line: 782) Drupal\easy_breadcrumb\EasyBreadcrumbBuilder->getTitleString() (Line: 570) Drupal\easy_breadcrumb\EasyBreadcrumbBuilder->build() (Line: 85) Drupal\Core\Breadcrumb\BreadcrumbManager->build() (Line: 73) Drupal\system\Plugin\Block\SystemBreadcrumbBlock->build() (Line: 171) Drupal\block\BlockViewBuilder::preRender() call_user_func_array() (Line: 113) Drupal\Core\Render\Renderer->doTrustedCallback() (Line: 886) Drupal\Core\Render\Renderer->doCallback() (Line: 431) Drupal\Core\Render\Renderer->doRender() (Line: 503) Drupal\Core\Render\Renderer->doRender() (Line: 248) Drupal\Core\Render\Renderer->render() (Line: 484) Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 53) __TwigTemplate_71db388a9298721e1139cf056f3e1614->doDisplay() (Line: 388) Twig\Template->yield() (Line: 344) Twig\Template->display() (Line: 359) Twig\Template->render() (Line: 51) Twig\TemplateWrapper->render() (Line: 33) twig_render_template() (Line: 348) Drupal\Core\Theme\ThemeManager->render() (Line: 490) Drupal\Core\Render\Renderer->doRender() (Line: 248) Drupal\Core\Render\Renderer->render() (Line: 484) Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 94) __TwigTemplate_7d8a581578bd3e78486c1ae0022cc8a8->doDisplay() (Line: 388) Twig\Template->yield() (Line: 344) Twig\Template->display() (Line: 359) Twig\Template->render() (Line: 51) Twig\TemplateWrapper->render() (Line: 33) twig_render_template() (Line: 348) Drupal\Core\Theme\ThemeManager->render() (Line: 490) Drupal\Core\Render\Renderer->doRender() (Line: 248) Drupal\Core\Render\Renderer->render() (Line: 158) Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 637) Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 159) Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90) Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray() call_user_func() (Line: 111) Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186) Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76) Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53) Drupal\Core\StackMiddleware\Session->handle() (Line: 48) Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28) Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32) Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 201) Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 138) Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 87) Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48) Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51) Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36) Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51) Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741) Drupal\Core\DrupalKernel->handle() (Line: 19)Warning: Undefined array key 0 in Drupal\h360_antiquity\Controller\ProjGallController->title() (line 50 of sites/default/modules/h360_antiquity/src/Controller/ProjGallController.php).
Drupal\h360_antiquity\Controller\ProjGallController->title() call_user_func_array() (Line: 58) Drupal\Core\Controller\TitleResolver->getTitle() (Line: 102) Drupal\easy_breadcrumb\TitleResolver->getTitle() (Line: 782) Drupal\easy_breadcrumb\EasyBreadcrumbBuilder->getTitleString() (Line: 575) Drupal\easy_breadcrumb\EasyBreadcrumbBuilder->build() (Line: 85) Drupal\Core\Breadcrumb\BreadcrumbManager->build() (Line: 73) Drupal\system\Plugin\Block\SystemBreadcrumbBlock->build() (Line: 171) Drupal\block\BlockViewBuilder::preRender() call_user_func_array() (Line: 113) Drupal\Core\Render\Renderer->doTrustedCallback() (Line: 886) Drupal\Core\Render\Renderer->doCallback() (Line: 431) Drupal\Core\Render\Renderer->doRender() (Line: 503) Drupal\Core\Render\Renderer->doRender() (Line: 248) Drupal\Core\Render\Renderer->render() (Line: 484) Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 53) __TwigTemplate_71db388a9298721e1139cf056f3e1614->doDisplay() (Line: 388) Twig\Template->yield() (Line: 344) Twig\Template->display() (Line: 359) Twig\Template->render() (Line: 51) Twig\TemplateWrapper->render() (Line: 33) twig_render_template() (Line: 348) Drupal\Core\Theme\ThemeManager->render() (Line: 490) Drupal\Core\Render\Renderer->doRender() (Line: 248) Drupal\Core\Render\Renderer->render() (Line: 484) Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 94) __TwigTemplate_7d8a581578bd3e78486c1ae0022cc8a8->doDisplay() (Line: 388) Twig\Template->yield() (Line: 344) Twig\Template->display() (Line: 359) Twig\Template->render() (Line: 51) Twig\TemplateWrapper->render() (Line: 33) twig_render_template() (Line: 348) Drupal\Core\Theme\ThemeManager->render() (Line: 490) Drupal\Core\Render\Renderer->doRender() (Line: 248) Drupal\Core\Render\Renderer->render() (Line: 158) Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 637) Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 159) Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90) Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray() call_user_func() (Line: 111) Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186) Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76) Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53) Drupal\Core\StackMiddleware\Session->handle() (Line: 48) Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28) Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32) Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 201) Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 138) Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 87) Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48) Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51) Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36) Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51) Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741) Drupal\Core\DrupalKernel->handle() (Line: 19)Deprecated function: strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated in Drupal\h360_antiquity\Controller\ProjGallController->title() (line 50 of sites/default/modules/h360_antiquity/src/Controller/ProjGallController.php).
Drupal\h360_antiquity\Controller\ProjGallController->title() call_user_func_array() (Line: 58) Drupal\Core\Controller\TitleResolver->getTitle() (Line: 102) Drupal\easy_breadcrumb\TitleResolver->getTitle() (Line: 782) Drupal\easy_breadcrumb\EasyBreadcrumbBuilder->getTitleString() (Line: 575) Drupal\easy_breadcrumb\EasyBreadcrumbBuilder->build() (Line: 85) Drupal\Core\Breadcrumb\BreadcrumbManager->build() (Line: 73) Drupal\system\Plugin\Block\SystemBreadcrumbBlock->build() (Line: 171) Drupal\block\BlockViewBuilder::preRender() call_user_func_array() (Line: 113) Drupal\Core\Render\Renderer->doTrustedCallback() (Line: 886) Drupal\Core\Render\Renderer->doCallback() (Line: 431) Drupal\Core\Render\Renderer->doRender() (Line: 503) Drupal\Core\Render\Renderer->doRender() (Line: 248) Drupal\Core\Render\Renderer->render() (Line: 484) Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 53) __TwigTemplate_71db388a9298721e1139cf056f3e1614->doDisplay() (Line: 388) Twig\Template->yield() (Line: 344) Twig\Template->display() (Line: 359) Twig\Template->render() (Line: 51) Twig\TemplateWrapper->render() (Line: 33) twig_render_template() (Line: 348) Drupal\Core\Theme\ThemeManager->render() (Line: 490) Drupal\Core\Render\Renderer->doRender() (Line: 248) Drupal\Core\Render\Renderer->render() (Line: 484) Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 94) __TwigTemplate_7d8a581578bd3e78486c1ae0022cc8a8->doDisplay() (Line: 388) Twig\Template->yield() (Line: 344) Twig\Template->display() (Line: 359) Twig\Template->render() (Line: 51) Twig\TemplateWrapper->render() (Line: 33) twig_render_template() (Line: 348) Drupal\Core\Theme\ThemeManager->render() (Line: 490) Drupal\Core\Render\Renderer->doRender() (Line: 248) Drupal\Core\Render\Renderer->render() (Line: 158) Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 637) Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 159) Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90) Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray() call_user_func() (Line: 111) Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186) Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76) Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53) Drupal\Core\StackMiddleware\Session->handle() (Line: 48) Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28) Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32) Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 201) Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 138) Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 87) Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48) Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51) Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36) Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51) Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741) Drupal\Core\DrupalKernel->handle() (Line: 19)
Previous Page
Back to Project Gallery
Antiquity Vol 79 No 306 December 2005
The Flip Test - a new statistical measure for quantifying symmetry in stone tools
Terry Hardaker & Stephen Dunn
Introduction One feature shared by almost all handaxes is that they were made with the intention of producing bilateral symmetry. The accurate measurement of this property would seem to be a useful tool in the analysis of handaxe assemblages. It is therefore rather surprising that, so far, attempts to measure symmetry have been largely non-quantitative. Cranshaw (1983) summarised the different approaches adopted by archaeologists to describe variation in artefact morphology up to the beginning of the 1980s. Her work exposed the problems experienced when trying to do this using words alone. Since the 1960s, archaeologists have attempted more and more to add precision to artefact measurement by progressing from descriptive terms (such as limande, pyriform, linguate) through basic measurements such as width, length, or weight (Roe 1964, 1968), to the adoption of various tests, involving a formula to obtain a numerical index, such as the ratio of total length to length from butt to widest point (Roe 1964: 258-259). More recently, Sinclair & McNabb (2005: 195) have described an 'Eyeball test for symmetry in large cutting tools', which is easy to apply but, as its name suggests, lacks quantitative measurement. A statistical test does already exist to measure bilateral symmetry (Saragusti & Sharon 1998). Their approach, though mathematically sound, is complex. It is based on assessing symmetry by finding 'the minimal distances that the vertices of a shape have to undergo, in order for the shape to attain the desired symmetry' (Saragusti & Sharon 819). Unfortunately the authors provide no easy way for others to adopt this system. An alternative, very simple, test, termed the Flip Test, is described in this paper, and has been placed as a free download on the Internet. The Flip Test | |||||||||||||||||||||||||||||
Figure 1. Principle of the Flip Test | |||||||||||||||||||||||||||||
|
The Index of Asymmetry is a number normally falling in the range 1-10. The lower the number, the more symmetrical the item. The area enclosed by the two lines (Figure 1 (e)) is measured in pixels and the following formula applied to take account of the total size of the artefact:
500 (A) The Test can be used to compare artefacts of any size. Large items are scaled down and very small ones scaled up to reach the ideal pixel dimensions for the Test (around 450 x 300 pixels). The accuracy of the results is a function of the accuracy of the imagery entered into the programme. Clearly, as in other studies, it can only be applied to the tool in its present form. Although the Flip Test has been devised mainly with Acheulian bifaces in mind, other artefacts, in which bilateral symmetry was intended (such as polished Neolithic axes) can be tested in this program, as it measures the deviation from perfect two-dimensional symmetry. |
|||||||||||||||||||||||||||||
![]() Figure 2. Flip Test: initial display. | |||||||||||||||||||||||||||||
|
Downloading and applying the Flip Test program The user needs to have photographs or drawings, which can be fed into the program for results. Familiarity with one of the photo-art packages, such as Adobe Photoshop, is needed to render the images suitable for the Test. Many of these packages are available free on the Internet and are easy to use. When the Flip Test is installed, the initial display (Figure 2) shows three options, Auto rotation, No Rotation and Step Through. Normal artefacts will only need the Auto Rotation mode. On importing an artefact image into the Test the program must first rotate it so it will be in the optimum vertical position to maximise the measurement of symmetry. The other options are used in special cases as described on the website. The Flip Test proceeds automatically as soon as the artefact is placed into the program, ending with a calculation of the height and width in pixels and assessment of the asymmetrical pixel count (Figure 3). At this stage a graphic representation of the asymmetry appears on the screen. From this it calculates the Index of Asymmetry using the formula given above. The Flip Test can be applied to measure single assemblages or to compare different assemblages. The graphic display may help to identify particular trends in style or through time. Comparisons of 'whole artefact' and 'tip' can be made by truncating the butt and just measuring the top of the artefact. | |||||||||||||||||||||||||||||
![]() Figure 3. Flip Test: final display. | |||||||||||||||||||||||||||||
| Interpretation of the Flip Test Index
It is stressed that the Test is not a panacea for archaeological problem-solving. It is only one of many possible measurements that can be applied to analyse an artefact, and it should be applied critically. An extended version of this article will appear in a forthcoming BAR publication, where results of the application of the Test to sample Palaeolithic assemblages from the Wolvercote and Gravelly Guy pits in Oxfordshire are discussed. The authors welcome user comment, which can be sent to FlipTestUK@gmail.com. References
|
|||||||||||||||||||||||||||||
|
Terry Hardaker: terry.hardaker@oxfordcarto.com, tel +44 (0)1993 881496
|
|||||||||||||||||||||||||||||


