text:
The Laboratory of Geophysics - Satellite Remote Sensing & Archaeoenvironment (GeoSat ReSeArch Lab) is active in the field of Geoinformatics, covering a wide range of Geophysical Surveys, Geographic Information Systems (GIS), Satellite Remote Sensing, Phtotogrammetry 3D visualization and Landscape modelling. Emphasis is placed on both the natural and cultural environment. The Laboratory conducts basic and applied research in the above research fields through International, European and National research programs. At the same time, it has developed a training and education program for researchers of geophysical, satellite remote sensing and Geographic Information Systems applications in archeology and culture, while at the same time is conducting studies on the anthropogenic effects on the natural environment over time. Equipped with the most modern geophysical equipment for the investigation of shallow depths and with the development of algorithms for processing geophysical data and tools for spatial analysis and models through Geographic Information Systems and satellite image processing, the Laboratory offers a complete package of services related to imaging surface, subsoil and shallow submarine targets, mapping of natural / cultural resources, developing Web GIS applications and developing web geographic databases. The Laboratory has entered into numerous collaborations with university and research institutions from Greece and abroad beyond the borders of the Mediterranean. The continuous activities of the Laboratory are disseminated through scientific publications, international conferences and workshops.
Among the most important activities of the Lab are the following:
Coordination or/and participation in more than 90 national and European research projects (H2020-RISE, , ΚΡΙΠΗΣ-ΠΟΛΙΤΕΙΑ II, ΚΡΙΠΗΣ-ΠΕΡΑΝ, HFRI postdoc, FORTH-SYNERGY, ΥΠΟΔΟΜΕΣ, H2020-STORM, Post doc Research Scholarships – IKY, ISAP Fund, H2020-VI-SEEM, Archaeo-FormoSat, USA-NSF, SIEMENS, ARISTEIA I & II, Archaeolandscapes Europe, KRIPIS-POLITEIA, ΚΡΙΠΗΣ-ΠΕΦΥΚΑ, ΘΑΛΗΣ, LIFE + , DRAGON-3, MARIE CURIE IF, Wenner-Gren Foundation, NSF-USA, Cultiure 2008-2013, Leverhulme Trust, University of Cyprus, LIFE+, ELIDEK, e-Content, INTERREG, ARCHIMED, ETΠΑ, ΠΕΝΕΔ, ΕΠΕΑΕΚ, INSTAP, NERC, Prefecture of Crete, Γ' ΚΠΣ).
Organization and participation in more than 250 programs of applied and primary research with emphasis on geophysical and remote sensing surveys of archaeological sites and natural environment.
Development of more than 45 databases and 50 GIS / Web GIS applications for the management of cultural and natural resources.
More than 600 publications in international scientific journals, 250+ oral presentations and 120+ posters in conferences and 150 technical reports.
Organization of international conferences and summer schools and participation of its research staff in scientific and organizational committees of international conferences.
Contribution to the internship of students (over 300) from various Universities such as: Technical University of Crete, the University of Crete, the University of Thessaly, the University of the Aegean and National and Kapodestrian University of Athens.
Participation in the supervision of postdoctoral researchers (from Greece, Italy, Tunisia, Australia, United States, Spain, Turkey, Cyprus, Belgium, China, etc.) and dissertations (doctoral dissertations, postgraduate and undergraduate theses) in cooperation with Greek and foreign University Institutions.
Transnational technological research projects with Cyprus, Boulgaria, China, USA etc.
Member of international research organizations such as: Copernicus Academy, GEO (Group on Earth Observation), ΑGILE (Association Geographic Information Laboratories Europe), EPOCH (Excellence in Processing Open Cultural Heritage) και EARSEL (European Association of Remote Sensing Laboratories).
Participation in the organization of the Interdepartmental Program of Postgraduate Studies of the University of Crete (EPEAEK - Department of History & Archeology and Department of Computer Science) and in the teaching of undergraduate and postgraduate courses at the University of Crete, Aristotle University of Thessaloniki, University of the Aegean, Technical University of Crete and TEI of Crete.
Organization of training seminars in the scientific fields of GIS, Satellite Remote Sensing and GPS focusing on professionals, staff of public and private bodies and students (e.g. Ministry of Culture / Ephorates of Antiquities, Prefectures, Municipalities, IGME, etc.)
Apostolos Sarris
Dimitrios Alexakis
Christina Tsigonaki
Evangelos Alevizos
Nasos Argyriou
Gianluca Cantoro
Angelos Chliaoutakis
Nadia Coutsinas
Jamieson C. Donati
Manolis Gryllakis
Christos Polykretis
Konstantinos Roussos
Kleanthis Simyrdanis
Alexandros Tourtas
Katerina Konstantinou
Art historian, PhD candidate of Social Anthropology
Panteion University of Social and Political Sciences
Dimitrios Oikonomou
Aggeliki Alygizaki
Postgraduate fellow
Nikos Beteinis
Michael J Curtis
Landscape and Coastal Archaeologist
University of Leicester, U.K.
Nikos S. Papadopoulos
Athanasios Kalpaxis
FORTH Distinguished Member
ACTYS
Advanced spectro-bathymetric mapping of shallow seafloor using UAV imagery and deep learning techniques
FORTH-SYNERGY
Detect and Attribute agricultural droughts to Anthropogenic Climate Change
DE.F.I.C.I.T
DEcision system For Irrigation in Crete based on Innovative Technologies - DE.F.I.C.I.T
:The purpose of the proposed project is to establish an integrated spatial decision-making system in large-scale (Crete Water District) with the aim of: (a) precisely identifying irrigation needs, according to optimal crop yields and proper management of water resources; b) designing optimal adaptation scenarios for the agricultural sector in the light of upcoming climate change; and c) the dynamic integration of the above information through the creation of a platform for immediate and real-time updated information to be provided to businesses and entities, whose actions are directly related to the optimal design and management of land improvement projects in the Region of Crete.
Ierapetra Harbour Survey
Geoarchaeological research in the broader area of Ierapetra harbour, Crete
In October 2019 the Ephorate of Underwater Antiquities in collaboration with the Laboratory of Geophysical Satellite Remote Sensing and Archaeoenvironment of IMS-FORTH undertook a scoping survey of the ancient harbour of Ierapetra (anc. Hierapytna) in Eastern Crete. The objective was to increase our understanding of the ancient harbour and its relationship with the present landscape. The survey examined the eastern mole, the modern harbour area and the western foreshore. The survey revealed a complex landscape, with changes over time that had not been previously noted and which affected the interpretation of the location and access to the ancient harbour. A series of previously unrecorded Roman structures were also identified.
DIATOPO
Διαχρονικά τοπία πολιτισμού της Κρήτης: Αναδεικνύοντας τον θαλάσσιο και ορεινό πλούτο του Μιραμπέλου
NSRF RIS3 EPK
BIOnian
Actions to protect and promote the biodiversity of ecosystems and of areas of natural beauty of the Ionian Islands through "smart" systems of detection, recording, digital mapping and pressures management
The BIOnian project aims at identifying, recording, mapping and developing "smart" tools for monitoring and identifying the Ionian Islands Region species that are related, supported or used as habitat for the Region's territorial resources.
Donati, J.C.; Sarris, A., "Evidence for Two Planned Greek Settlements in the Peloponnese from Satellite Remote Sensing", American Journal of Archaeology, vol. 3, no. 120, pp. 361.
Hadjimitsis, D. G.; Agapiou, A.; Alexakis, D.; Sarris, A., "Exploring natural and anthropogenic risk for cultural heritage in Cyprus using remote sensing and GIS", International Journal of Digital Earth, vol. 2, no. 6, pp. 115–142.
Rozos, D.; Margaris, B.; Theodoulidis, N.; Lekidis, V.; Karakostas, Ch.; Mangriotis, M-D.; Kalogeras, I.; Koutrakis, S.; Vafidis, A.; Steiakakis, M.; Agioutantis, Z.; Savvaidis, A.; Loupasakis, C.; Rondoyanni, Th.; Tsangaratos, P.; Dikmen, U.; Papadopoulos, N.; Sarris, A.; Soupios, P.; Kokkinou, E.; Papadopoulos, I.; Kouli, M.; Vallianatos, F., "Geo-characterization according to recent advances of Eurocode (EC8)", First International Conference on Remote Sensing and Geoinformation, 8-10 April, pp. 879513-879519.
Sarris, A.; Papadopoulos, N.; Dederix, S.; Salvi, M. C., "Geophysical approaches applied in the ancient theatre of Demetriada, Volos", First International Conference on Remote Sensing and Geoinformation, 8-10 April, pp. 87950H--87950H--8.
Sarris, A.; Papadopoulos, N.; Agapiou, A.; Salvi, M. C.; Hadjimitsis, D. G.; Parkinson, W. A.; Yerkes, R. W.; Gyucha, A.; Duffy, P. R., "Integration of geophysical surveys, ground hyperspectral measurements, aerial and satellite imagery for archaeological prospection of prehistoric sites: the case study of Vésztő-Mágor Tell, Hungary", Journal of Archaeological Science, vol. 3, no. 40, pp. 1454-1470.
Agapiou, A.; Nisantzi, A.; Lysandrou, V.; Mamouri, R.; Alexakis, D.; Themistocleous, K.; Sarris, A.; Hadjimitsis, D. G., "Mapping air pollution using Earth observation techniques for cultural heritage sites", First International Conference on Remote Sensing and Geoinformation, 8-10 April, no. 8795.
Downloads and Services
AutoGR-Toolkit version 4.0
**Change log**
for 64bit
Download AutoGR-Toolkit Installer
Download AutoGR-Toolkit (.zip)
for 32bit versions use
Download AutoGR-Toolkit x86 Installer
Download AutoGR-Toolkit x86 (.zip)
AutoGR-Toolkit is a set of modules to improve, facilitate and speedup the process of images georeferencing.
AutoGR-Toolkit, and the embedded tools (GGrab, AutoGR-SIFT, GeoRef-Filtering, GeoTiff-Converter and AutoGR-Photogrammetry) are distributed for free and can be redistributed (free of charge). It is recommended that users download the toolkit directly from this website and subscribe to the dedicated Google Group page for updates and issues support/features requests.
For operational information and application, please have a look at the included HelpFile. Also check regularly for updates (button available in the top menu of all modules) and patches on our website.
A short description of the AutoGR-Toolkit modules:
GGrab:
Allows you to save a georeferenced orthophoto/satellite image (for personal and research purpose) of the area of interest from freely accessible WMS servers.
GGrab and GeoTiff Converter use the Geospatial Data Abstraction Library (GDAL)
http://www.gdal.org
AutoGR-SIFT:
Automatically produces ground control points for image georeferencing.
It is based on the automatic image matching in Computer Vision (OpenCV with image matching 'contrib non-free' modules, optimized and compiled from sources) as an implementation of the David Lowe's SIFT algorithm (http://www.cs.ubc.ca/~lowe/keypoints).
GeoRef-Filtering:
AutoGR-SIFT usually produces thousands of points in a few seconds and this module lets you reduce this number to a more manageable one.
GeoTiff-Converter:
It extracts geographical information from a geotiff file and it produces a .jpg/.png/.tif with respective worldfile.
AutoGR-Photogrammetry:
Using the global digital terrain model available online or a DEM provided by the user, this tool provides users with the facilities to extract X, Y and Z coordinates for each location in the world. It also allows to generate Agisoft Metashape, VSFM and sfm_georef points for photogrammetric 3D models georeferencing in complete automation.
Thanks to Gribouillis and pyTony from the Daniweb's Python Forum and all beta-testers for their immeasurable support for the creation of some special functions in this software.
IMS-FORTH provided the facilities and technical support to develop and finalize this set of applications.
OpenCV code and specifically developed scripts derived from that library, have been compiled against Visual Studio 2015 (64 and 32 bit versions).
If you are running Windows Vista or you experience problems executing the program, try installing the Microsoft Visual C++ 2015 Redistributable Package and/or the Windows 10 Universal C Runtime.
If the problem persists, feel free to contact the author of the program (see the email below) for assistance.
In case of problems, requests/wishlist or feedback, feel free to contact the author of AutoGR-Toolkit:
Gianluca Cantoro // gianluca.cantoro [at] gmail.com
Please also consider the dedicated google group for support related issues.
3-D Inversion of surface ERT Data
Download 3Dinv
User's manual (pdf 1.8MB)
3DINV is a program for the three-dimensional (3-D) inversion of surface Electrical Resistivity Tomography (ERT) data in order to automatically determine a 3-D resistivity subsurface model. The program performs smoothness constrained (Occam's) inversion in order to address the non-uniqueness of the inverse problem and stabilize the procedure. The subsurface is divided in homogeneous and isotropic hexahedral elements and a 3-D Finite Element Modeling (FEM) routine is employed to calculate the resistivity response of 3-D bodies. The adjoint equation technique has been incorporated into the FEM scheme to calculate the Jacobian matrix. An iterative method (LSMR) is used to update the resistivity model though the inversion iterations.
This work was supported by ArchaeoLandscapes-ArcLand: Europe European multiannual project (2010-2015) - European Commission - Directorate General Education and Culture, Programme « Culture » (2007-2013). 2010-2015
For any problems or remarks on the program contact: Dr. Nikos Papadopoulos // nikos [at] ims.forth.gr
CataThumb (BKMF) version 1.6
Download CataThumb
This is a free software (distributed "AS IS") that will allow you to easily create an Excel file for cataloguing photo-sorties trough a windows GUI.
Its name comes from CATAlogue and THUMBnails (BKMF is an internal code and it was the first name of this software).
Given a folder with photos (JPG or NEF), CataThumb creates an XLS file with preview of photos, LatLong coordinate (if stored in the EXIF of the photos), Project name, flight date and keywords.
CataThumb will create also (only if coordinates are available) a KML file with a GPS track and photo previews.
In case of problems, requests/whishlist or feedback, feel free to contact the author of CataThumb: Gianluca Cantoro // gianluca.cantoro [at] gmail.com
Geographical Information Systems (GIS)
The new developments of satellite remote sensing and Geographical Information Systems have given a new dimension in archaeological research and the management of cultural resources. Innovative satellite sensors of high spatial and spectral resolution, along with the use of high accuracy Global Positioning (GPS) systems and enhanced image processing systems offer great possibilities in the mapping of archaeological sites. In addition, the combination of the above technologies with other databases which contain archaeological and environmental information and with socio-economic models has direct consequences on our knowledge of use of cultural space in antiquity as well as on management policies of archaeological sites today.
Satellite images are used for capturing the wider area of archaeological sites, offering the possibility of comparison and classification of multispectral information. Archaeological research incorporates satellite remote sensing aiming at: firstly the identification of environmental parameters and their association to the topography of archaeological monuments and secondly, the assessment of the spectral signatures of archaeological sites with the ultimate goal of developing predictive archaeological models. In this way, satellite remote sensing constitutes a method of archaeological information retrieval, without the use of excavation or intensive survey procedures.
GIS in archaeological research
Moving one step further, Geographical Information Systems could be used for integrating archaeological data, together with satellite and aerial images, topographic and geological maps and other digital environmental and cultural information. One of the most important applications of the Geographic Information Systems is the development of predictive models for archaeological site assessment based on image and statistical processing techniques of satellite imagery and environmental information. These methods are aiming to the management of cultural resources and the decision making process in large development works. Prediction models are based on the hypothesis that the spatial distribution of archaeological sites is a function of environmental parameters that exist in the specific region of interest. Avoiding high-risk areas, namely areas that have a large probability to contain archaeological sites, it is possible to insure the protection of monuments, a better planning of the development works and the proper accommodation of large amounts of funds.
The need to develop of a Geographic Information System of Cultural Resources, with capabilities of processing and modeling digital images, is actually imposed by the effort of accommodating funds, due to the high cost of surface surveying and archaeological site registration and assessment during or prior the course of large scale construction works (e.g. highway or railway construction, expansion of rural estates, exploitation of coastal areas, construction of waste dump areas, a.o.). The adoption of such a system has direct consequences in enhancing the current inventory systems and electronic databases and in upgrading the current models of protection and the general strategy of management of cultural resources. A further advantage of GIS lies in their ability of updating their geographical information index in a continuous and interactive mode, processing and storing large volume of diverse origin data and creating thematic maps based on specific inquiries. The above can be used in archaeological research for modeling the settlement patterns of a region, locating and outlining high probability archaeological candidate sites, studying the communication or defense networks, specifying cost surface regions used for the exploitation of natural resources, etc. The creation of electronic thematic maps that present various cultural and environmental information simultaneously, could be extremely useful in solving problems resulted by the environmental and development plans, suggesting specific solutions for the protection, preservation and management of ancient monuments.
GIS application design and development
The Laboratory of Geophysical-Satellite Remote Sensing & Archaeo-environment has been active in the above fields with a number of research projects in Amorgos (electronic archaeological map of Amorgos and study of the communication network between towers of the historical period), Mantineia (analysis of the defensive network of the wider Mantineia region and detection of new outposts), Itanos and Lasithi (development of a GIS for the management of archaeological monuments and the mapping of archaeological sites), Crete (study of the Minoan peak sanctuaries and modeling of cultural topography) and Palaipaphos-Cyprus (construction of the archaeological atlas of Palaipaphos). Similarly, one of the current projects of the Lab is dealing with the Development of an Expert System for the Monitoring, Management & Protection of the Natural Landscape & Environmental Resources of the Island of Crete (EMERIC).
Geographic Information Systems offer a unique mode of representing the ancient environment and its settlement patterns through the modeling of geomorphology and hydrology, viewshed analysis and statistical processing and correlation between natural and cultural variables. This type of approach should not remain static. Instead, it should be continuously transformed through a constant feedback and updating of geographic and cultural information, in order to meet the challenges generated by the increase of archaeological information, the extreme environmental pressures (desertification, erosion, forest fires, etc.) and the development works.
Obviously, the above represent a shift of the archaeological research towards developing new cultural strategies based on information technologies. Yet, there are two main challenges that need to be faced in the immediate future: firstly, the development of a common strategy regarding the management of antiquities, the creation of homogeneous and unified databases and the integration or modification of the existing management systems and secondly, the dissemination of information aiming towards the better exploitation and enhancement of the Cultural Geographic Information Systems (C.G.I.S.).
Satellite Remote Sensing
The Laboratory of Geophysical - Satellite Remote Sensing & Archaeo-environment applies satellite remote sensing techniques and advanced image processing methodologies for in projects dealing with the preservation, monitoring and management of the environmental resources (natural and cultural).
Management of natural and cultural resources
Geographic registration and modelling.
Digital Terrain Elevation Data, Orthoimages, 3-D.
Land use, landcover, linear features, geological mapping
Urban planning, forestry, agriculture, environment
Coastal Surveys. Pollution studies. Natural disasters
Water management. Hydrography.
Image analysis & enhancement, mosaicking, classification
Geographic Information Systems. Thematic maps.
Cultural Resources assessment. Predfiction modelling. Settlement patterns. Protection areas. National parks and preservation sections.
The Laboratory is using a number of intelligent processing software packages for manipulation of satellite imagery and GIS. Digitization tablets, scanners, workstations and GPS are also supporting the research projects. The sophisticated geophysical instrumentation can be also used in conjunction to the above techniques when needed. The lab is mostly involved in research dealing with the natural and cultural resources assessment and management.
Geophysical prospection
The Laboratory conducts small and large scale geophysical surveys of archaeological sites for mapping the archaeological relics and increase the efficiency of the excavation activities. Both, geophysical prospection and satellite remote sensing contribute in the mapping of the subsurface archaelogical monuments, the management and conservation of the archaeological sites and the better exploitation of the environmental and cultural resources.
Geophysical prospection techniques and satellite remote sensing/G.I.S. are used for the preservation, monitoring and management of the environmental resources (natural and cultural). The Lab is also involved in research of the environmental consequences of technical construction works, environmental pollution and geological mapping/hydrogeology. Geographic Information Systems, classification techniques and thematic mapping is applied together with image processing techniques for the assessment and management of the natural and cultural resources (landuse, protection areas, urban planning, etc.).
The Laboratory is also conducting research on the biological remais from archaeological excavations, aiming to the reconstruction of the ancient environment.
The Laboratory of Geophysical - Satellite Remote Sensing & Archaeo-environment has performed a number of geophysical prospection surveys in Greece and abroad (Cyprus, Egypt, Hungary, a.o.), offering its services to the Greek Archaeological Service, Universities and Higher Institutions. The researchers of the Laboratory are also dealing with the training of researchers and students through hand-on experience in the field and lecture series.
The Laboratory uses the most modern and precise equipment for fieldwork and sophisticated computer facilities and software for processing and mapping of the geophysical and remote sensing data. Geophysical investigations include the use of caesium, proton and fluxgate magnetometers/gradiometers, soil resistivity and conductivity techniques, microgravity, seismic, electric tomography, ground penetrating radar (with a variety of antennas) (G.P.R.), Global Positioning Systems (G.P.S.) and magnetic susceptibility measurements. The Lab is also equipped with the necessary instruments for macro and micro analysis of archaeo-environmental remains. Digitization boards, scanners, color plotters and printers guarantee the high quality presentation of the results and maps.
Near-surface mapping of the archaeological sites with aim to guide excavations or surface surveys, locate and map archaeological remnants and estimate the wider area of archaeological interest.
Estimation of depth to the archaeological relics and verification of the occupation layers. Magnetic properties of the archaeological soils and materials.
Satellite Imagery and Aerial photography. Image processing and Geographic Information Systems (G.I.S.). Emphasis on the archaeological site assessment and management. Predictive modelling & Settlement patterns.
Planning and management of actions for the development of archaeological sites. Assessment of the effects of construction works in archaeological areas.
Digitization and scanning of topographic maps, geological maps, architectural drawings, pictures, images, etc.
Digital Elevation models (DEM). Thematic mapping (2-D & 3-D).
Environmental consequences on archaeological sites. Conservation areas. Cultural and natural national parks. Assessment of archaeological parks.
In large development projects, geophysical investigations constitute a necessary tool for the assessment and management of archaeological sites. Aerial photography and satellite digital imagery are able to locate and confine areas of probable archaeological interest.
Surface surveys in conjunction to other remote sensing techniques (geophysical, aerial, satellite) can be combined through a Geographic Information System for a better geographic registration of the archaeological finds and a productive management of archaeological information.
A geophysical prospection project consists of two phases: the field work and the lab (data analysis and processing) phase. The fieldwork usually takes a period of a week for covering an area of about 5-8,000 m2, with a 1m sampling interval. Geophysical measurements are conducted in specific regions of interest, following the consultation of the supervising archaeologist.
The technical support of the Laboratory includes the mapping of large areas with a dense sampling interval, which is usually specified depending on the needs of the survey and the land cover. In this way, it is possible to locate architectural remnants, wall structures, trenches, kilns, roads, firehearths, pits and other features of archaeological interest. A much more systematic approach could even estimate the depth to the archaeological features and identify the different occupation layers of a site. Processing of the geophysical data is followed by the production of maps which represent the geophysical targets of probable archaeological nature.
The analysis and processing of the geophysical data includes the mapping of surface features, the application of mathematical filters, the drawing of the geophysical grids, image processing techniques, modelling and mapping of the geophysical anomalies, etc. The final report is in most cases ready within a period of 3-6 months after the end of the fieldwork period, depending on the availability of related information and urgency of the project. In a few cases, a first-hand processing and mapping of the data is possible on the site, providing (almost) ´´real-time´´ information on the results of the geophysical survey.
Electrical Methods
One of the most commonly used geophysical techniques in the detection of "shallow structures" is the electrical method, which is also known as "Direct Current method". The purpose of the method is the determination of the subsurface resistivity contribution, by conducting measurements at the surface of the earth.
To achieve this, electric current is inserted into the ground via two electrodes and the potential difference, which is caused by the inserted current, is measured in two other electrodes. The measured potential difference gives an image for the difficulty of the current flow through the subsurface. This is an indication of the electrical resistance of the subsurface. In figure 1 a typical array of four electrodes A, B (current electrodes) and M, N (potential electrodes) is presented.
The resistivity method is widely used in Hydrogeology to detect aquifers, in Technical Geology to find the stable rock and the cavities and in assessing the hydraulic properties of the subsurface e.t.c., for environmental purposes in detecting the ground-water pollution, in the search of geothermic areas and mines and in Archaeometry.
The resistivity depends on hydrological-hydrogeological conditions, the chemical composition of the water, the dissolved ions in it, the porosity of the formation, the possible fractures, the temperature and pressure and the topography.
As it was mentioned above resistivity depends on many factors and it doesn´t comprise a distinguishing property of specific formations, since the resistivity variability may have a large range in the same formation. Thus the interpretation of resistivity measurements must be treated with caution and must always depend on the available geologic information of the area (geologic maps, drills).
The procedure of measurements´ acquisition depends on the use of four electrodes, two in order to insert current and two to measure the potential difference. The current probes are inserted into the ground in a depth of a few centimeters and distances that vary from a few to several hundred of meters.
Due to the fact that earth is inhomogeneous and anisotropic the measured resistivity depends on the subsurface geoelectrical distribution and the geometric arrangement of the probes. In order to include these factors in the actual measurements the term apparent resistivity is used.
Resistivity Survey Methods
Soundings: The purpose of the vertical electrical resistivity sounding (VES) is to investigate the variation of the resistivity with depth. The whole procedure is based on the assumption that the subsurface has a horizontal stratigraphy. In other words it consists of discrete, horizontal, homogeneous and isotropic layers. The array that is commonly used in VES is the Schlumberger array. VES are mainly used in Hydrogeology.
The measurements are taken with gradually increasing distances of the current electrodes (the potential electrodes remain constant). As the distance between current probes is increased, there is also an increased in the depth at which the current penetrates below the surface of the ground increasing the depth of investigation. In this way, an estimate of the vertical resistivity distribution below the centre of the array is determined.
Profiles: Profiles are used to detect lateral resistivity changes. In contrast to the VES, the distances between the probes remain stable and measurements are taken by moving the whole array with constant step interval. By this way the lateral resistivity changes at a steady depth are mapped. The most widely used arrays for profiling survey are Wenner, Pole - Pole, Dipole - Dipole and Twin - Probe array.
Especially in Archaeometry the Twin - Probe (Figure 3) array is very popular because the data can be collected within a small period of time and are easily interpreted. The method also has a relative good spatial distribution. Two remote probes faraway from the survey area are used (one for the current and one for the potential), which there are placed at a distance equal 30 times of the distance between the remote probes. (e.g. 15 meters away if the distance between the mobile probes is 0.5 meters). The mobile electrodes (one for the current and one for the potential) are moved simultaneously with a constant step. The spatial resolution ability of the method is 1.0a, while the depth of investigation can be 1.0 - 2.0a, where a is the mobile probes´ separation. The accuracy of the measurements is of the order of 1 - 0.1 O.
Tomography (2-D imaging): 2-D electrical surveys are employed for gathering information for the horizontal and the vertical variation of the resistivity. These type of measurements are also used in the quantitative interpretation of buried structures (determination of depth, size, shape of the body). 2-D electrical tomography is also applicable in detecting buried antiquities.
Nowadays 2-D resistivity surveys have been developed and can be used in large scale surveys. A series of electrodes are placed at the surface of the ground and via a multiclone cable and a multiplexing system, the resistivity measurements are obtained automatically along profiles, with a gradually increasing distance between the probes.
It is quite difficult to interpret these kinds of data instantly. The data must be processed with the algorithms of non-linear 2-D inversion. It must be noted that sections of this type are carried out of specific regions of interest, because of the difficulties that have to be encountered during the conduction of the field survey.
Gravity and Magnetic Methods
Gravity and magnetic methods consist of one of the first used techniques in the detection of subsurface structures. The relatively easy procedure in data acquisition combined with the low cost in relation to other geophysical methods (seismic reflection) make them very popular methods.
As their name reports, using these methods, it is tried two potential fields to be measured. For this reason these methods are mainly known as "potential field methods". There are cases where these methods can be used simultaneously, as the transition from one field to another can be accomplished via the Poisson relation. Poisson equation connects the gravity and the magnetic potential that a body causes, provided the density and the magnetization distribution is allocated uniformly in his whole volume. Furthermore many of the applied processing techniques to the collected data are common to the both methods.
Magnetic Techniques
The goal of the magnetic methods is to detect the subsurface´s magnetic changes because of the presence of structures which are found under the surface of the earth. During the application of a magnetic survey the local magnetic field of the earth is measured at a distance above its surface. The height of the sensor ranges from 0.5 meter, (in the case of buried antiquities detection), to some hundred of meters above the surface´s topography of an area, for the anomalies´ detection which are related with the geology of this area.
In order to measure the magnetic field, either magnetometers which measure the total intensity of the magnetic field (proton magnetometers) or gradient magnetometers (proton or flux) which measure the vertical gradient of the magnetic field are employed. The accuracy of these instruments is of the order of 0.01 - 1 nT. In the detection of archaeological remains the measurements are taken with a steady sampling step in rectangular small dimensional grids (10x10 ? 20x20), placing the sensor to a small and steady distance from the surface of the earth.
Underground bodies which have different magnetic properties from the rest of the subsurface, change to a smaller or bigger degree the local magnetic field. The magnetic field´s deformation is observed as an "anomaly" to the measurements. These anomalies are caused by different reasons which vary according to the intensity of the magnetic field and the geometric shape of these. Ditches, places of burning, kilns, architecture structures or concentration of organic material can cause these anomalies. The magnetic anomalies depend on the direction of the earth´s magnetic field and on the direction of the magnetization vector. For this reason the magnetic anomalies are mainly dipolar.
The magnetic anomalies are directly related to the soil´s magnetic susceptibility. Regions with an increased magnetic susceptibility (related to the environment) appear as positive magnetic anomalies while regions with decreased magnetic susceptibility appear as negative anomalies. Both of these kinds of anomalies are equally interesting in the procedure of the magnetic data interpretation.
In general the existence of buried antiquities in the subsurface is usually accompanied by an increase in the magnetic susceptibility causing a weak magnetic field which alters the local magnetic field of the earth. Total field magnetometers measure the resultant of the weak local magnetic field and the stronger earth´s magnetic field. Gradient magnetometers (flux magnetometers) measure the vertical or the horizontal component of the magnetic field. These kinds of magnetometers comprise the most efficient instruments that measure the local magnetic field and its variations due to shallow depth remains.
Generally the variation of the local magnetic field because of the existence of subsurface archaeological remains is relatively small, because of the weak remanent magnetization. This variation is increased as the magnetic susceptibility of archaeological targets is increased (burning phenomena, density in iron components e.t.c.). The instruments that are required for the detection of archaeological ruins must have high accuracy, great sensitivity and being trustworthy. These instruments measure the magnetic field in an accuracy of order of 0.1 - 1 nT (0.1 - 1 x 10-9 T). Even bigger accuracy of the order of pT (0.001 - 0.01 nT) is possible using the Cesium magnetometers, but there is the danger to insert high level of outside noise.
It must be noted that the earth´s magnetic field isn´t stationary but it changes with time. The one variation that is the most interesting is the daily one. These transient variations affect the magnetic measurements and can not be predicted.
Under normal circumstances the intensity of the magnetic field varies from 50 - 100 nT. In case that a magnetic storm occurs the magnetic field is more active and the diurnal variations are of the order of 100 - 500 nT. For this reason it is a necessity to observe the change of the magnetic field while the magnetic survey is conducted, using a second magnetometer. The use of gradient magnetometers has the advantage to eliminate the drastic changes of the magnetic field and to rebate the geologic influence.
Gravity Techniques
Gravity methods aim to determine the subsoil´s gravity changes conducting measurements of the gravity field on the surface of the earth. Namely gravitometry aims towards the detection of structures with different density compared to their environment (either positive or negative). These methods depend on the Newton´s gravity law. This law defines the attractive force which is exercised between two bodies with a specific mass and they are separated of a specific distance.
The modern instruments that are used to measure the gravity field are called gravitometres. Their main function principle depends on the existence of a spring. At the edge of this spring a mass is hanged. The springs which are known as "zero length springs" are commonly used nowadays to the modern gravitometers.
Gravitometers are very sensitive instruments and they are affected by temperature and pressure changes. For this reason gravitometers are placed in boxes, where temperature and pressure are maintained steady using various techniques. Furthermore the changes of the springs´ elastic properties have to be considered although many times it is difficult to predict them.
In order to measure the gravity field, it is necessary to locate a base station in the area of interest. Afterwards a net of points that comprise a grid or they are at equal spaces along a profile must be determined. All the necessary corrections (reduction to the same latitude, "free-air" reduction, Bouguer reduction, topographic reduction) must be applied to the collected data, before they will be processed and interpreted.
The advantage of these methods in relation to the magnetic methods is the fact that the anomalies are unipolar. This means that they maximize or minimize directly above the subsurface body that causes the irregular gravity field. This is ought to the fact that gravity anomalies depend only on the body´s gravity distribution. In contrast magnetic anomalies depend on the earth´s magnetic field direction and on the direction of the magnetization vector. This fact causes the magnetic anomalies to appear as dipolar.
Radar is the acronym for RAdio Detecting And Ranging. It is a system that uses the high frequency electromagnetic radiation.
The Ground Penetrating Radar method has the same operation principle with the seismic reflection method. This geophysical technique is applicable to strata mapping in the cases of soils and rocks and depends on the different electrical properties that various materials have. The development of the method started mainly in 1956, but accelerated considerably after 1970 as a result of the tremendous progress that took place in electronics and computer technology after 1960.
G.P.R. can be used in a series of applications like the mapping of the bedrock depth, the determination of the stratum thickness and the aquifer depth, the location of physical and artificial cavities in the subsurface, cracks in the bedrock and the tracing of the changes in the rocks´ composition. The method is specially used in Archaeometry for the detection of buried antiquities.
A high frequency electromagnetic radiation is transmitted in the ground and the reflected waves are recorded. The propagating electromagnetic energy in the ground depends on the subsoil´s electrical properties, the conductivity and the dielectric constant. Basically the method depends on the record of the waves reflected on surfaces that divide regions with different electrical properties.
G.P.R. is similar to the seismic reflection method. A high frequency, small duration electromagnetic pulse is transmitted into the ground. This pulse (signal) is diffused in the subsurface materials and its direction depends on its properties. A part of the pulse energy is reflected on the surface that separates materials with different properties and is recorded at a receiver on the surface. The remaining pulse energy is diffused at deeper levels.
The time between the transmitting and the receiving pulse depends on the velocity along the trace the pulse followed. This time can be measured and if the electromagnetic wave propagation velocity is known then the depth of the reflector can be determined. In most of the geologic materials the conductivity and the dielectric constant (relative permittivity) are the main parameters that affect the pulse. Furthermore the absorption of the signal depends mainly on the antenna frequency, the conductivity and the dielectric constant.
The maximum penetration depth of the G.P.R. depends on the absorption of the electromagnetic waves. The absorption increases with frequency and thus a smaller frequency is used for detecting the deeper targets. On the other hand the resolution of the method is decreased as the frequency is increased. For instance G.P.R. system working at the range of 25-50 MHz can investigate depths over 50 meters in soils with low conductivity (smaller than 1ns/m) like sand and gravels.
The Radar recordings (radiograms) are placed one beside the other so as to construct a section that simulates the real subsurface electrical section, producing information of the changes of the electrical properties with depth.
Archaeo-environment
The Laboraroty of Geophysical-Satellite Remote Sensing and Archaeo-environment undertakes the analysis of biological remains form archaeological excavations, aiming to the reconstruction of aspects of the ancient environment. Such an analysis leads to a better understanding of the environmental and economic variables, which have affected human activity and behavior in the past. It also works towards the illumination of aspects of social behavior which involve the acquisition, management and consumption of food and biological raw materials.
Through the retrieval of a variety of bio-archaeological remains, and detailed identification and recording of animal remains (mammals and fish), the Lab contributes to the reconstruction of archaeological landscapes and the managements of archaeological sites. Furthermore, the investigation and study of ancient ecosystems leads to a better understanding on environmental management.
The Lab is also contributing to the better understanding of the archaeological evidence. The analysis of bio-archaeological remains sheds light to basic aspects of ancient economy (i.e. available natural resources and their management, nutrition, animal husbandry, hunting, fishing, and so forth), as well as diet and related aspects of life.
As aspects of everyday life, such as agriculture, animal husbandry, fishing and diet, fall under the influence of world-systems, research, which focuses on the interaction between humans and their environment in the past, becomes crucial. Such research not only provides examples of sustainable management of natural resources but also highlights the individuality of gegraphically specific small scale communities.
Identification and analysis of osteological material (mammal and fish bones).
Consulting services for a best sampling and field processing (water flotation, sorting) of the bio-archaeological material. Training of the members of the excavation project for the above procedures.
Consulting services for the organization of exhibitions and other related events of public character, pertinent to the fields of the Labs specializations.
Identification and analysis of material in fields which are not covered by the Laboratory´s own experts (i.e. insects, mollusks, small mammals, plant remains) by external collaborators.
Photography and drawing of bio-archaeological remains.
Preparation and disposal of animal skeletons to Institutes, Museums and researchers.
Zoo-archaeology is the study of the past interactions between humans and animals. It is based on animal bones, found during archaeological excavations. It also uses additional data, such as artefacts, documentary sources, art representations, etc.
Animal remains are very common finds in archaeological excavations and they are often accurate witnesses of everyday economic conditions and actions which have passed without leaving any other visible traces.
The zoo-archaeological research follows three main steps:
During the archaeological excavation, many animal remains are collected, including bones of mammals, fish and birds. Hand picking, dry sieving and water flotation are some of the methods employed, each leading to a more or less representative recovery.
Recording and analysis
Every animal bone found in an excavation bears some information about the animal's physiology as well as on the management of the live animals and the carcasses. Observations on the bone refer to the anatomical part it represents, the animal it belongs to, its sex and maturity, as well as the degree/method of its fragmentation, its preservation state and possible pathologies, cut marks, working evidence etc. Using a basic statistical analysis all this information elucidates such aspects of elementary human/animal interactions as :
The range of species exploited by humans in the past (or sharing their living space),
The age and sex composition of herds or hunted animals,
The carcass management, i.e. cutting techniques, preference to certain anatomical parts, modes of cooking, etc.
Observations on the preservation of the bones, are used as a guide to the reconstruction of the taphonomic history* of the assemblage and often of the excavated site itself.
The basic information derived from the animal bones is combined with other sets of data, such as related architectural structures and artifacts, written sources, art representations. They are analysed in the light of ecological observations and ethnographic paradigms. The aim is to build a picture on the past interactions between animals and humans.
Interpretations of animal bone assemblages usually refer to the nature of the environment from which the animals under study originate and the methods developed by humans to manage the animals (hunting, herding, pastoralism, etc). The socio-economic implications of the above, special uses of animals (e.g. sacrifice), as well as symbolic/ideological values invested on them are also explored.
* Taphonomic history: refers to the processes which have affected the bones since the moment it seized being alive to the time of analysis. It involves factors such as crushing, trampling, digesting, and the erosion of bones through weathering.
Archaeo-Telepiskopika News
Number 11 (December 2014)
Number 10 (March 2011)
Number 9 (January 2008)
Number 8 (June 2006)
Number 6 (March 2003)
Dissertations - Theses
Graduate/Undergraduate Theses and Dissertations with the contribution of the Lab
1. Katerina Athanasaki, Αρχαιολογία των Προϊστορικών Τοπίων στη Βόρεια Παράλια Ζώνη του Νομού Ηρακλείου. Διεπιστημονικές Προσεγγίσεις και Χρήση Συστημάτων Γεωγραφικών Πληροφοριών (GIS), Τμήμα Ιστορίας & Αρχαιολογίας, Πανεπιστήμιο Κρήτης (in progress, 2009-)
2. Athos Agapiou, «Γεωπληροφορική στη Διαχείριση Πολιτιστικής Κληρονομιάς», Τμήμα Πολιτικών Μηχανικών και Μηχανικών Γεωπληροφορικής, Τεχνολογικό Πανεπιστήμιο Κύπρου (in progress, 2009-)
3. Sylviane Dederix, The Minoan Funerary Landscape, Universite Catholique de Louvain (UcL) (in progress, 2009-)
4. Dimitris Alexakis, "Η Συμβολή της Γεωμορφολογίας, με την βοήθεια της Τηλεπισκόπησης και των Γεωγραφικών Συστημάτων Πληροφοριών, στη Χαρτογράφηση Αρχαιολογικών Θέσεων", Τμήμα Γεωλογίας, Τομέας Φυσικής και Περιβαλλοντικής Γεωγραφίας, Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης (2003 - 2009).
5. Sofia Topouzi, "Διερεύνηση του Οικιστικού Πλέγματος της Νήσου Ικαρίας κατά την Αρχαιότητα", Tομέας Κλασσικής Αρχαιολογίας, Τμήμα Ιστορίας & Αρχαιολογίας, Πανεπιστήμιο Αθηνών (2001 - 2008)
6. Nikos Papadopoulos, "Ανάπτυξη αλγορίθμων για την τρισδιάστατη αντιστροφή γεωηλεκτρικών δεδομένων που προέρχονται απο αρχαιολογικούς χώρους", Τμήμα Γεωλογίας, Τομέας Γεωφυσικής, Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης (2003 - 2007)
7. Emanuela de Marco, "Oλοκληρωμένες Μαγνητικές και Αρχαιομαγνητικές Μετρήσεις σε Αρχαιολογικούς Χώρους: Συμβολή στις Καμπύλες Αναφοράς για τον Ελληνικό Χώρο", Τμήμα Γεωλογίας, Τομέας Γεωφυσικής, Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης (2003 - 2006)
8. Steven Soetens, "Minoan Peak Sanctuaries: Building a Cultural Landscape Model Through a GIS Αpproach". Supervisors & Supporting Institutes: Prof. Jan Driessen - Departement d'archeologie et d'histoire de l'art, Universite Catholique de Louvain (UcL), Belgium & Dr. Apostolos Sarris - Laboratory of Geophysical-Satellite Remote Sensing & Archaeo-environment, Institute of Mediterranean Studies, Foundation for Research and Technology, Hellas (F.O.R.T.H.) (1999 - 2006).
Graduate Theses
1. Αγαπίου, A., Τοπογραφία θέσεων της ευρύτερης περιοχής Παλαιπάφου, κατά τη 3η και 2η χιλιετία π.Χ. και μελέτη της αστικοποίησης, με την υποστήριξη Γεωγραφικών Συστημάτων Πληροφοριών, Πανεπιστήμιο Κύπρου, Λευκωσία, σε εξέλιξη.
2. Xαριτόπουλος, Ε., Η Ενδοχώρα νότια του Ρεθύμνου κατά τον Ύστερο Μεσαίωνα. Μελέτη και αξιολόγηση των Αρχαιολογικών Δεδομένων με Εφαρμογή Γεωγραφικών Συστημάτων Πληροφοριών (G.I.S.), Τμήμα Ιστορίας-Αρχαιολογίας, Πανεπιστήμιο Κρήτης, Ρέθυμνο, 2009.
3. Παπαδάκη Ε., Ανάλυση Δορυφορικών Εικόνων ASTER για τον Εντοπισμό Ρηγμάτων στη Δυτική Κρήτη, Μεταπτυχιακή Εργασία, Τμήμα Μηχανικών Ορυκτών Πόρων, Πολυτεχνείο Κρήτης, Χανιά, 2006.
4. Αθανασάκη, Κ., "Αρχαιολογική τεκμηρίωση οινοπαραγωγικών εγκαταστάσεων Κρήτης με την ανάπτυξη ενός ολοκληρωμένου Γεωγραφικού Συστήματος Πληροφοριών (GIS).", Μεταπτυχιακή Εργασία, ΕΠΕΑΕΚ - Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών, Τμήμα Επιστήμης Υπολογιστών & Ιστορίας-Αρχαιολογίας, Πανεπιστήμιο Κρήτης, Ρέθυμνο, 2005
5. Καραμαλίκη, Κ., "Διαχρονική χρήση του χώρου στην ευρύτερη περιοχή του Ρεθύμνου", Μεταπτυχιακή Εργασία, ΕΠΕΑΕΚ - Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών, Τμήμα Επιστήμης Υπολογιστών & Ιστορίας-Αρχαιολογίας, Πανεπιστήμιο Κρήτης, Ρέθυμνο, 2005
6. Κουριάτη, Κ., "Η οργάνωση του Χώρου και του Τοπίου στην περιοχή Βρόκαστρο Ανατολικής Κρήτης ", Μεταπτυχιακή Εργασία, ΕΠΕΑΕΚ - Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών, Τμήμα Επιστήμης Υπολογιστών & Ιστορίας-Αρχαιολογίας, Πανεπιστήμιο Κρήτης, Ρέθυμνο, 2005
7. Κατηφόρη, Μ., "Βενετικά Μοναστήρια του Νομού Λασιθίου μέσω GIS", Μεταπτυχιακή Εργασία, ΕΠΕΑΕΚ - Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών, Τμήμα Επιστήμης Υπολογιστών & Ιστορίας-Αρχαιολογίας, Πανεπιστήμιο Κρήτης, Ρέθυμνο, 2005
8. Ηλβανίδου, Μ., " Χερσαία επικοινωνία και οδικό δίκτυο στην Κρήτη των Ρωμαϊκών Χρόνων ", Μεταπτυχιακή Εργασία, ΕΠΕΑΕΚ - Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών, Τμήμα Επιστήμης Υπολογιστών & Ιστορίας-Αρχαιολογίας, Πανεπιστήμιο Κρήτης, Ρέθυμνο, 2005
9. Kαλογρίδου, Α., "Δυναμική παράθεση πολυμεσικής πληροφορίας με ακρίβεια GPS στον αρχαιολογικό χώρο. Μια εφαρμογή με τη χρήση επιπαλάμιου υπολογιστή.", Μεταπτυχιακή Εργασία, ΕΠΕΑΕΚ - Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών, Τμήμα Επιστήμης Υπολογιστών & Ιστορίας-Αρχαιολογίας, Πανεπιστήμιο Κρήτης, Ρέθυμνο, 2005
10. Σταμάτης, Γ., "Παλαίπαφος Κύπρου: Η Συμβολή των Γεωγραφικών Συστημάτων Πληροφοριών και των Γεωφυσικών Διασκοπήσεων στη Διερεύνηση της Αρχαιολογικής Τοπογραφίας και Οικιστικής Οργάνωσης της Περιοχής", Μεταπτυχιακή Εργασία, ΕΠΕΑΕΚ - Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών, Τμήμα Επιστήμης Υπολογιστών & Ιστορίας-Αρχαιολογίας, Πανεπιστήμιο Κρήτης, Ρέθυμνο, 2004.
11. Χατζηϊορδάνου, Ε., «Ανάλυση Επικινδυνότητας Αρχαιολογικών Θέσεων του Νομού Λασιθίου Ανατολικής Κρήτης από Γεωλογικά Φαινόμενα με την Χρήση των Συστημάτων Γεωγραφικών Πληροφοριών και της Τηλεπισκόπησης», Μεταπτυχιακή Εργασία, Τμήμα Μηχανικών Ορυκτών Πόρων, Πολυτεχνείο Κρήτης, Χανιά, 2004.
12. Τοπούζη, Σ., "Μελέτη του Αμυντικού Δικτύου της Αρχαίας Μαντίνειας, μέσω Γεωγραφικών Συστημάτων Πληροφοριών", Μεταπτυχιακή Εργασία, ΕΠΕΑΕΚ - Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών, Τμήμα Επιστήμης Υπολογιστών & Ιστορίας-Αρχαιολογίας, Πανεπιστήμιο Κρήτης, Ρέθυμνο 2001.
13. Γκιούρου, Α., "Εφαρμογή Δορυφορικής Τηλεπισκόπησης και Γεωγραφικών Συστημάτων Πληροφοριών για την Διαχείριση των Αρχαιολογικών Μνημείων της Αρχαίας Ιτάνου, Α. Κρήτη", Μεταπτυχιακή Εργασία, ΕΠΕΑΕΚ - Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών, Τμήμα Επιστήμης Υπολογιστών & Ιστορίας-Αρχαιολογίας, Πανεπιστήμιο Κρήτης, Ρέθυμνο 2001.
14. Aηδονά, Ε., "Mαγνητικές Ιδιότητες Ορυκτών και Εδαφών από Αρχαιολογικές Θέσεις της Ελλάδας", Μεταπτυχιακή Εργασία, Τμήμα Γεωλογίας-Γεωφυσικής, Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης, Θεσσαλονίκη, 1997.
1. Χατζηαθανασίου, Σ., "Διαχρονική παρακολούθηση της δομής του υπεδάφους σε περιοχές απόθεσης αποβλήτων από ελαιοτριβεία με την μέθοδο της γεωηλεκτρικής τομογραφίας", Τμήμα Φυσικής, Πανεπιστήμιο Κρήτης, 2011.
2. Μπίκας, Μ., «Μελέτη Περιβαλλοντικού Θορύβου στην Πόλη του Ηρακλείου μέσω Γεωγραφικών Συστημάτων Πληροφοριών», Διπλωματική Εργασία, Ανώτατο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης, Παράρτημα Χανίων, Τμήμα Φυσικών Πόρων και Περιβάλλοντος, Φεβρουάριος 2010.
3. Μάρκος, Α. & Τσουρούλα, Ι., «Επεξεργασία Γεωφυσικών Μετρήσεων από τον Αρχαιολογικό Χώρο του Ιερού του Ποσειδώνα, Πόρος», Διπλωματική Εργασία, Ανώτατο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης, Παράρτημα Χανίων, Τμήμα Φυσικών Πόρων και Περιβάλλοντος, Μάϊος 2007.
4. Κατσούγκρης, Λ. & Κότσιφας, Γ., «Γεωμαγνητικές Έρευνες στην Ευρύτερη περιοχή του Σωρού, Βόλου», Διπλωματική Εργασία, Ανώτατο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης, Παράρτημα Χανίων, Τμήμα Φυσικών Πόρων και Περιβάλλοντος, Μάϊος 2007.
5. Δρούλια, Κ-Κ. & Δαμιάνοβιτς, Ουρ., «Μελέτη των Περιβαλλοντικών Συνθηκών στην Ευρύτερη Περιοχή του Λιγνιτικού Πεδίου της Μεγαλόπολης», Διπλωματική Εργασία, Ανώτατο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης, Παράρτημα Χανίων, Τμήμα Φυσικών Πόρων και Περιβάλλοντος, Μάϊος 2007.
6. Κιούσης Π. & Μαργώνη, Ι., «Επεξεργασία Μαγνητικών, Ηλεκτρικών και Ηλεκτρομαγνητικών Μετρήσεων από τον Αρχαιολογικό Χώρο του Ίστρου», Διπλωματική Εργασία, Ανώτατο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης, Παράρτημα Χανίων, Τμήμα Φυσικών Πόρων και Περιβάλλοντος, Απρίλιος 2007.
7. Βουβάκη, Ε. & Τάσση, Α., «Ανάπτυξη Μοντέλου Χωροθέτησης Περιοχών Απόθεσης Απορριμάτων του Ν. Χανίων», Διπλωματική Εργασία, Ανώτατο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης, Παράρτημα Χανίων, Τμήμα Φυσικών Πόρων και Περιβάλλοντος, Απρίλιος 2006.
8. Kαρακούδης, Στ. & Βιδάκη Χ., «Μελέτη των Γεωμορφικών Στοιχείων της Κρήτης με την Εφαρμογή της Δορυφορικής Τηλεπισκόπησης», Διπλωματική Εργασία, Ανώτατο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης, Παράρτημα Χανίων, Τμήμα Φυσικών Πόρων και Περιβάλλοντος, Απρίλιος 2005.
9. Bρέντζου, Κ. & Καμαρατάκης, Ε., «Συνδυασμένη Χρήση GPS και Δορυφορικών Δεδομένων για τη Δημιουργία Ψηφιακού Μοντέλου Εδάφους», Διπλωματική Εργασία, Ανώτατο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης, Παράρτημα Χανίων, Τμήμα Φυσικών Πόρων και Περιβάλλοντος, Σεπτέμβριος 2004.
10. Aγγελοπούλου, Ε., «Επεξεργασία Δορυφορικών Εικόνων ASTER για την περιοχή της Κρήτης», Διπλωματική Εργασία, Ανώτατο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης, Παράρτημα Χανίων, Τμήμα Φυσικών Πόρων και Περιβάλλοντος, Δεκέμβριος 2003.
11. Δοξαστάκης Γ. & Κρικέλλης Α., "Επεξεργασία Δορυφορικών Εικόνων με Έμφαση στην Ανάλυση Χαρακτηριστικών Αεροδρομίων", Διπλωματική Εργασία, Σχολή Ικάρων, Τμήμα Ιπταμένων, Απρίλιος 1999.
12. Πουλιούδης Γ., "Γεωφυσική Διασκόπηση στον Αρχαιολογικό Χώρο της Ιτάνου με την Μέθοδο του Υπεδάφειου Ραντάρ", Διπλωματική Εργασία, Τμήμα Μηχανικών Ορυκτών Πόρων, Πολυτεχνείο Κρήτης, Χανιά, Οκτώβριος 1999.
13. Γκιούρου, Α., "Ανάπτυξη Γεωγραφικού συστήματος Πληροφοριών με την Χρήση Γεωφυσικών και Δορυφορικών Δεδομένων για την Κατασκευή ενός Ηλεκτρονικού Αρχαιολογικού Χάρτη της Αμοργού", Διπλωματική Εργασία, Τμήμα Μηχανικών Ορυκτών Πόρων, Πολυτεχνείο Κρήτης, Χανιά, 1998.
14. Τριπολιτσιώτης, Α., "Μελέτη και Αξιολόγηση Γεωμετρικών Διορθώσεων Δορυφορικών Εικόνων", Διπλωματική Εργασία, Τμήμα Μηχανικών Ορυκτών Πόρων, Πολυτεχνείο Κρήτης, Χανιά, 1998.

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: How resize the image bitmap with the custom layout height and width I am using the fallowing solution to resize the bitmap. But it results portion of the image is lost.
Here is is my code.
 BitmapFactory.Options bmFactoryOptions = new BitmapFactory.Options();
            bmFactoryOptions.inPreferredConfig = Bitmap.Config.ARGB_8888;
            bmFactoryOptions.inMutable = true;
            bmFactoryOptions.inSampleSize = 2;
            Bitmap originalCameraBitmap = BitmapFactory.decodeByteArray(pData, 0, pData.length, bmFactoryOptions);
            rotatedBitmap = getResizedBitmap(originalCameraBitmap, cameraPreviewLayout.getHeight(), cameraPreviewLayout.getWidth() - preSizePriviewHight(), (int) rotationDegrees);

 public Bitmap getResizedBitmap(Bitmap bm, int newWidth, int newHeight, int angle) {
        int width = bm.getWidth();
        int height = bm.getHeight();
        float scaleWidth = ((float) newWidth) / width;
        float scaleHeight = ((float) newHeight) / height;
        Matrix matrix = new Matrix();
        matrix.postRotate(angle);
        matrix.postScale(scaleWidth, scaleHeight);
        Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true);
        DeliverItApplication.getInstance().setImageCaptured(true);
        return resizedBitmap;
    }

And here is the image height and width : Preview surface size:352:288 Before resized bitmap width : 320 Height : 240 CameraPreviewLayout width : 1080 Height : 1362 Resized bitmap width : 1022 Height : 1307

A: Your java code is right but you haven't care about Aspect Ratio of Image thats whys your Image Portion is cutting.
Original Image Height and Width :
Height  = 352;
Width   = 288;

Aspect Ratio = h/w; => Ratio = 1.2;

and you taken new width and height :
newHeight = 320;
newWidth  = 240;

But if we take Image Height as 320 then according Image Aspect Ratio Its Width becomes :
calculated width  = newHeight /Ratio; => 320/1.2= 266.66= 267;
calculated width  = 267;

difference of portion cutting is = calculated width -newWidth;
                                 = 267 -240 ;
                                 = 27 ;

So you need to take height and width for new bitmap.
newHeight = 320;
newWidth  = 267 ;

A: public class MarkableImageCaptureActivity extends Activity implements OnClickListener {
    private static Logger logger = LoggerFactory.getLogger(MarkableImageCaptureActivity.class);
@InjectView(R.id.top_menu_bar)
private LinearLayout topMenuLayout;
@InjectView(R.id.top_menu_title)
private TextView topMenuTitleTV;
@InjectView(R.id.image_desc_edittext)
private EditText imageDescEditText;
@InjectView(R.id.camerapreview_layout)
private FrameLayout cameraPreviewLayout;
@InjectView(R.id.btn_camera_capture)
private Button captureBtn;
@InjectView(R.id.btn_camera_save)
private Button saveBtn;
@InjectView(R.id.btn_camera_cancel)
private Button cancelBtn;
@InjectView(R.id.edit_captured_image_layout)
private RelativeLayout editCapturedImageLayout;
@InjectView(R.id.edit_captured_image)
private ImageView editCapturedImage;
@InjectView(R.id.color_container_layout)
private LinearLayout colorContainerLayout;
@InjectView(R.id.btn_markable_red)
private Button btnMarkableRed;
@InjectView(R.id.btn_markable_blue)
private Button btnMarkableBlue;
@InjectView(R.id.btn_markable_green)
private Button btnMarkableGreen;
@InjectView(R.id.btn_markable_white)
private Button btnMarkableWhite;
@InjectView(R.id.btn_markable_black)
private Button btnMarkableBlack;
@InjectView(R.id.btn_undo)
private TextView capturedImageUndo;

private MarkableImageView editableCapturedImageview;

@InjectView(R.id.flashSwitch)
private ToggleButton flashToggle;

private static final int DIALOG_CAPTURE_EXCEPTION = 2101;
private static final int DIALOG_CAPTURING_EXCEPTION = 2102;
private static final int DIALOG_SAVE_EXCEPTION = 0;
private String imageFileName = null;
private File imageFile = null;
private Stop targetStop = null;
private int stopId = DIntent.VALUE_INVALID_ID;
private float rotationDegrees = 0;

private Camera camera = null;
private CameraPreview cameraPreview;
private Bitmap rotatedBitmap;
private static final int PRIMARY_CAMERA_ID = 0;
private boolean imageCaptured = false;
private boolean inPreview = false;
private boolean isFlashSupports;
private boolean isCapturing = false;
private boolean isFlashOn;
private boolean isDocNameEditable;
private String imageDesc = "";
private Handler focusHandler = null;
private int captureType;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_start_camera_for_photo_capture);
    setupTopMenuBar(topMenuLayout, null, getString(R.string.menuitem_back), getString(R.string.menuitem_done), true, true, new ImageCaptureTopMenuListener());
    focusHandler = new Handler();
    editableCapturedImageview = (MarkableImageView) findViewById(R.id.editable_captured_imageview);
    Bundle intentBundle = getIntent().getExtras();
    isDocNameEditable = getIntent().getBooleanExtra(DIntent.EXTRA_OBJECT_TYPE_DOCUMENT_EDITABLE, false);
    imageDesc = getIntent().getStringExtra(DIntent.EXTRA_OBJECT_TYPE_DOCUMENT_NAME);
    if (savedInstanceState != null) {
        stopId = savedInstanceState.getInt(DIntent.EXTRA_STOP_ID);
        imageDesc = savedInstanceState.getString(DIntent.EXTRA_IMAGE_DESC);
        imageCaptured = savedInstanceState.getBoolean(DIntent.EXTRA_IS_IMAGE_CAPTURED);
        inPreview = savedInstanceState.getBoolean(DIntent.EXTRA_IN_PREVIEW);
        isFlashOn=savedInstanceState.getBoolean(DIntent.FLASH_MODE_ON);
        if (imageCaptured) {
            rotatedBitmap = savedInstanceState.getParcelable(DIntent.EXTRA_IMAGE_BITMAP);
        }
    }
    captureType = intentBundle.getInt(DIntent.EXTRA_TYPE_CAPTURE);
    if (captureType == DIntent.EXTRA_TYPE_IMAGE_CAPTURE) {
        stopId = intentBundle.getInt(DIntent.EXTRA_STOP_ID);
        try {
            targetStop = getDbHelper().getStopDao().queryForId(stopId);
        } catch (SQLException e) {
            logger.error("Exception finding stop by Id!!", e);
        }
    }
    isFlashSupports = getApplicationContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
    if (isFlashSupports) {
        flashToggle.setVisibility(View.VISIBLE);
        flashToggle.setOnClickListener(this);
    } else {
        flashToggle.setVisibility(View.GONE);
    }
    captureBtn.setOnClickListener(this);
    saveBtn.setOnClickListener(this);
    cancelBtn.setOnClickListener(this);
    imageDescEditText.setText(imageDesc);
    if (AndroidUtility.isValidTrimmedString(imageDesc)) {
        if (!isDocNameEditable) {
            imageDescEditText.setEnabled(false);
        }
    } else {
        imageDescEditText.setEnabled(true);
    }
    editCapturedImage.setOnClickListener(this);
    btnMarkableWhite.setOnClickListener(this);
    btnMarkableRed.setOnClickListener(this);
    btnMarkableBlue.setOnClickListener(this);
    btnMarkableGreen.setOnClickListener(this);
    btnMarkableBlack.setOnClickListener(this);
    capturedImageUndo.setOnClickListener(this);
}

@Override
protected void onStart() {
    super.onStart();
    logger.info("onStart:imageCaptured" + imageCaptured);
    boolean isImageCaptured = DeliverItApplication.getInstance().isImageCaptured();
    if (!isImageCaptured) {
        if (rotatedBitmap != null) {
            activateCapturedImageView(rotatedBitmap);
        } else {
            activatePreviewLayout();
        }
    }
}

private void activateCapturedImageView(Bitmap rotatedBitmap) {
    cameraPreviewLayout.setVisibility(View.GONE);
    editableCapturedImageview.setCapturedBitmap(rotatedBitmap);
    editableCapturedImageview.setVisibility(View.VISIBLE);
    editCapturedImageLayout.setVisibility(View.VISIBLE);
    captureBtn.setVisibility(View.GONE);
    saveBtn.setVisibility(View.VISIBLE);
    saveBtn.requestFocus();
    RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) editableCapturedImageview.getLayoutParams();
    layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
    layoutParams.addRule(RelativeLayout.CENTER_VERTICAL, RelativeLayout.TRUE);
    layoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);
    layoutParams.width = rotatedBitmap.getWidth();
    layoutParams.height = rotatedBitmap.getHeight();
    editableCapturedImageview.setLayoutParams(layoutParams);
    logger.info("Inside activateCapturedImageView");
    releaseCamera();
}

private void activatePreviewLayout() {
    logger.info("Insie activatePreviewLayout");
    cameraPreviewLayout.setVisibility(View.VISIBLE);
    editableCapturedImageview.setVisibility(View.GONE);
    editCapturedImageLayout.setVisibility(View.GONE);
    captureBtn.setVisibility(View.VISIBLE);
    captureBtn.requestFocus();
    saveBtn.setVisibility(View.GONE);
}

@Override
protected void onResume() {
    super.onResume();
    logger.info("onResume");
    if (rotatedBitmap == null || inPreview) {
        activateCameraPreview();
    }
}

public void activateCameraPreview() {
    logger.info("activateCameraPreview");
    camera = getCameraInstance(camera);
    if (camera != null) {
        cameraPreview = new CameraPreview(this, camera);
        rotationDegrees = getCameraDisplayOrientation(this, PRIMARY_CAMERA_ID);
        camera.setDisplayOrientation((int) rotationDegrees);
        cameraPreviewLayout.addView(cameraPreview);
        inPreview = true;
        isCapturing = false;
        Camera.Parameters params = camera.getParameters();
        if (isFlashSupported(params)) {
            logger.info("activateCameraPreview: Flash Mode:"+ isFlashOn);
            if (isFlashOn) {
                params.setFlashMode(Camera.Parameters.FLASH_MODE_ON);
            } else {
                params.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
            }
        } else {
            flashToggle.setVisibility(View.GONE);
        }
        camera.setParameters(params);
        enableAutoFocusMode(camera);
    }
}

private Runnable doFocusRunnable = new Runnable() {
    @Override
    public void run() {
        if (camera != null) {
            focusHandler.removeCallbacks(doFocusRunnable);
            if (CameraPreview.isCameraPreviewStarted) {
                try {
                    camera.autoFocus(autoFocusCallback);
                    logger.info("doFocusRunnable autofocus set");
                } catch (Exception e) {
                    logger.error("Error while calling autofocus in camera."+e);
                }
            } else {
                logger.info("doFocusRunnable isCameraPreviewStarted false. Postdelay for 2 seconds");
                focusHandler.postDelayed(doFocusRunnable, 2000);
            }
        }
    }
};

Camera.AutoFocusCallback autoFocusCallback = new Camera.AutoFocusCallback(){
    @Override
    public void onAutoFocus(boolean arg0, Camera arg1) {
        if (camera != null) {
            logger.info("Excuting onAutoFocus callback");
            focusHandler.postDelayed(doFocusRunnable, 2000);
        }
    }
};

public Camera getCameraInstance(Camera oldCamera) {
    Camera newCamera = null;
    try {
        logger.info("attempt to get a Camera instance");
        if (oldCamera == null) {
            logger.info("oldCamera is null.Opening Camera");
            newCamera = Camera.open(PRIMARY_CAMERA_ID);
        } else {
            logger.info("oldCamera is not null.Releasing it and Opening Camera");
            oldCamera.release();
            newCamera = Camera.open(PRIMARY_CAMERA_ID);
        }
    } catch (Exception e) {
        logger.info("Camera is not available (in use or does not exist)");
    }
    return newCamera; // returns null if camera is unavailable
}

@Override
protected void onPause() {
    super.onPause();
    logger.info("onPause");
    releaseCamera();
}

private void releaseCamera() {
    if (null != camera) {
        try {
            focusHandler.removeCallbacks(doFocusRunnable);
            CameraPreview.isCameraPreviewStarted = false;
            camera.cancelAutoFocus();
            camera.stopPreview();
            camera.release();
            camera = null;
            cameraPreview.setVisibility(View.GONE);
            cameraPreview = null;
            inPreview = false;
            logger.info("Camera released successfully ");
        } catch (Exception e) {
            logger.error("Error while releasing camera in releaseCamera()."+e);
        }
    }
}

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    logger.info("onSaveInstanceState");
    outState.putInt(DIntent.EXTRA_STOP_ID, stopId);
    outState.putBoolean(DIntent.EXTRA_IS_IMAGE_CAPTURED, imageCaptured);
    outState.putBoolean(DIntent.EXTRA_IN_PREVIEW, inPreview);
    outState.putString(DIntent.EXTRA_IMAGE_DESC, imageDesc);
}

@Override
protected void onDestroy() {
    super.onDestroy();
    logger.info("onDestroy");
    DeliverItApplication.getInstance().setImageCaptured(false);
}

public float getCameraDisplayOrientation(Activity activity, int cameraId) {
    CameraInfo info = new CameraInfo();
    Camera.getCameraInfo(cameraId, info);
    int displayOrientation = activity.getWindowManager().getDefaultDisplay().getRotation();
    int infoOrientation = info.orientation;
    float degrees = 0;
    switch (displayOrientation) {
        case Surface.ROTATION_0:
            degrees = 0;
            break;
        case Surface.ROTATION_90:
            degrees = 90;
            break;
        case Surface.ROTATION_180:
            degrees = 180;
            break;
        case Surface.ROTATION_270:
            degrees = 270;
            break;
    }

    float result;
    if (info.facing == CameraInfo.CAMERA_FACING_FRONT) {
        logger.info("Camera.CameraInfo.CAMERA_FACING_FRONT");
        result = (infoOrientation + degrees) % 360;
        result = (360 - result) % 360; // compensate the mirror
    } else { // back-facing
        logger.info("Camera.CameraInfo.CAMERA_FACING_BACK");
        result = (infoOrientation - degrees + 360) % 360;
    }
    logger.info("Display Rotation:" + displayOrientation + " & infoOrientation:" + infoOrientation + " & degrees:"
            + degrees + " & info.facing:" + info.facing + " & result:" + result);
    return result;
}

private void captureImage() {
    try {
        if (camera != null) {
            //camera.autoFocus(autoFocusCallback);
            isCapturing = true;
            logger.info("Taking picture while clicking Capture button");
            camera.takePicture(null, null, pictureCallBack);
        } else {
            if (rotatedBitmap == null) {
                showDialog(DIALOG_CAMERA_UNAVAILABLE);
            }
        }
    } catch (Exception e) {
        releaseCamera();
        logger.error("Error in camera initialization in StartCaptureForPhoto screen.");
        activatePreviewLayout();
        activateCameraPreview();
    }
}

private PictureCallback pictureCallBack = new PictureCallback() {
    @Override
    public void onPictureTaken(byte[] pData, Camera pCamera) {
        BitmapFactory.Options bmFactoryOptions = new BitmapFactory.Options();
        bmFactoryOptions.inPreferredConfig = Bitmap.Config.ARGB_8888;
        bmFactoryOptions.inMutable = true;
      //  bmFactoryOptions.inSampleSize = 2;
        Bitmap originalCameraBitmap = BitmapFactory.decodeByteArray(pData, 0, pData.length, bmFactoryOptions);
        logger.info("before resized bitmap width : "+originalCameraBitmap.getWidth() + " Hieght : "+ originalCameraBitmap.getHeight());
        rotatedBitmap = getResizedBitmap(originalCameraBitmap, cameraPreviewLayout.getHeight(), cameraPreviewLayout.getWidth() - preSizePriviewHight(), (int) rotationDegrees);
        logger.info("cameraPreviewLayout width : "+cameraPreviewLayout.getWidth() + " Hieght : "+ cameraPreviewLayout.getHeight());

        if (rotatedBitmap != null) {
            imageCaptured = true;
            activateCapturedImageView(rotatedBitmap);
        } else {
            imageCaptured = false;
        }
        isCapturing = false;
        originalCameraBitmap.recycle();
        flashToggle.setVisibility(View.GONE);
    }
};

public Bitmap getResizedBitmap(Bitmap bm, int newWidth, int newHeight, int angle) {
    int width = bm.getWidth();
    int height = bm.getHeight();
    float scaleWidth = ((float) newWidth) / width;
    float scaleHeight = ((float) newHeight) / height;
    Matrix matrix = new Matrix();
    matrix.postRotate(angle);
    matrix.postScale(scaleWidth, scaleHeight);
    Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true);
    DeliverItApplication.getInstance().setImageCaptured(true);
    return resizedBitmap;
}

@Override
public void onClick(View pView) {
    switch (pView.getId()) {
        case R.id.btn_camera_capture:
            if (!isCapturing) {
                captureImage();
            } else {
                logger.error("Picture being captured.User clicked so fast.");
            }
            break;
        case R.id.btn_camera_save:
            if (imageCaptured) {
                String description = imageDescEditText.getText().toString();
                if (description != null && description.length() > 0) {
                    saveCapturedImage();
                } else {
                    imageDescEditText.setError((getString(R.string.error_photo_desc)));
                }
            }
            break;
        case R.id.edit_captured_image:
            colorContainerLayout.setVisibility(View.VISIBLE);
            capturedImageUndo.setVisibility(View.VISIBLE);
            editableCapturedImageview.setPaintBrushColor(Color.WHITE);
            break;

        case R.id.btn_markable_green:
            editableCapturedImageview.setPaintBrushColor(Color.parseColor("#6AD523"));
            break;

        case R.id.btn_markable_blue:
            editableCapturedImageview.setPaintBrushColor(Color.parseColor("#407FF0"));
            break;

        case R.id.btn_markable_red:
            editableCapturedImageview.setPaintBrushColor(Color.parseColor("#B0321B"));
            break;

        case R.id.btn_markable_white:
            editableCapturedImageview.setPaintBrushColor(Color.parseColor("#F7F5FA"));
            break;

        case R.id.btn_markable_black:
            editableCapturedImageview.setPaintBrushColor(Color.parseColor("#2A2A2C"));
            break;

        case R.id.btn_undo:
            editableCapturedImageview.onClickUndo();
            break;
        case R.id.btn_camera_cancel:
            releaseCamera();
            finish();
            break;
        case R.id.flashSwitch:
            switchFlash();
        default:
            break;
    }
}

@Override
protected Dialog onCreateDialog(int id, Bundle bundle) {
    switch (id) {
        case DIALOG_CAPTURE_EXCEPTION:
            DIAlertDialog captureErrorDialog = new DIAlertDialog(this, getText(R.string.dialog_camera_error)
                    .toString(), getText(R.string.dialog_capture_exception).toString(), null, null);
            return captureErrorDialog;

        case DIALOG_SAVE_EXCEPTION:
            DIAlertDialog imageSaveErrorDialog = new DIAlertDialog(this, getText(R.string.dialog_camera_error)
                    .toString(), getText(R.string.dialog_image_save_exception).toString(), null, null);
            return imageSaveErrorDialog;
        case DIALOG_CAPTURING_EXCEPTION:
            DIAlertDialog capturingDialog = new DIAlertDialog(this, getText(R.string.dialog_camera_error)
                    .toString(), getText(R.string.dialog_capturing_exception).toString(), null, null);
            return capturingDialog;
        default:
            return super.onCreateDialog(id, bundle);
    }
}

private class ImageCaptureTopMenuListener implements OnClickListener {
    @Override
    public void onClick(View v) {
        if (v.getVisibility() == View.VISIBLE && v.getId() == R.id.top_left_menu_item) {
            onBackPressed();
        } else if (v.getVisibility() == View.VISIBLE && v.getId() == R.id.top_right_menu_item) {
            if (imageCaptured) {
                String description = imageDescEditText.getText().toString();
                if (description != null && description.length() > 0) {
                    saveCapturedImage();
                } else {
                    imageDescEditText.setError((getString(R.string.error_photo_desc)));
                }

            }
        }
    }
}

private void switchFlash() {
    if (camera == null) {
        return;
    }
    if (!isFlashOn) {
        Camera.Parameters params = camera.getParameters();
        params.setFlashMode(Camera.Parameters.FLASH_MODE_ON);
        camera.setParameters(params);
        if (rotatedBitmap != null) {
            activateCapturedImageView(rotatedBitmap);
        } else {
            activatePreviewLayout();
        }
        isFlashOn = true;
    } else {
        Camera.Parameters params = camera.getParameters();
        params.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
        camera.setParameters(params);
        if (rotatedBitmap != null) {
            activateCapturedImageView(rotatedBitmap);
        } else {
            activatePreviewLayout();
        }
        isFlashOn = false;

    }
}

private int preSizePriviewHight() {
    int defaultSize = 100;
    switch (getResources().getDisplayMetrics().densityDpi) {
        case DisplayMetrics.DENSITY_LOW:
            defaultSize = 75;
            break;
        case DisplayMetrics.DENSITY_MEDIUM:
            defaultSize = 80;
            break;
        case DisplayMetrics.DENSITY_HIGH:
            defaultSize = 120;
            break;
        case DisplayMetrics.DENSITY_XHIGH:
            defaultSize = 160;
            break;
        case DisplayMetrics.DENSITY_XXHIGH:
            defaultSize = 430;
            break;
        case DisplayMetrics.DENSITY_XXXHIGH:
            defaultSize = 460;
            break;
        default:
            break;

    }
    return defaultSize;
}

private void enableAutoFocusMode(Camera camera) {
    try {
        Camera.Parameters params = camera.getParameters();
        List<String> focusParameterList = params.getSupportedFocusModes();
        if (focusParameterList != null && focusParameterList.size() > 0) {
            logger.info("Supported focus mode:"+focusParameterList);
            if (focusParameterList.contains(Camera.Parameters.FOCUS_MODE_AUTO)) {
                logger.info("enableAutoFocusMode: Starting focus mode");
                params.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
                camera.setParameters(params);
                /*
                Below line commented due to crash issue in focus mode because of autoFocus call before start preview
                So we are giving 2 sec delay for autoFocus.
                 */
                //camera.autoFocus(autoFocusCallback);
                focusHandler.postDelayed(doFocusRunnable, 2000);
            }
        }
    } catch (Exception e) {
        logger.error("Error while setting AutoFocus in Camera."+e);
    }

}

private boolean isFlashSupported(Camera.Parameters params) {
    if (params != null) {
        List<String> flashModes = params.getSupportedFlashModes();
        if(flashModes == null) {
            return false;
        }
        for(String flashMode : flashModes) {
            if(Camera.Parameters.FLASH_MODE_ON.equals(flashMode)) {
                return true;
            }
        }
    }
    return false;
}

@Override
protected void onStop() {
    super.onStop();
    if (editableCapturedImageview != null) {
        editableCapturedImageview.resetCanvas();
    }
}

}
public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback {
private static Logger logger = LoggerFactory.getLogger(CameraPreview.class);
private SurfaceHolder surfaceHolder;
private Camera camera;
private List<Size> cameraSizeList;
private Camera.Parameters cameraParameters;
public static boolean isCameraPreviewStarted = false;

public CameraPreview(Context context, Camera camera) {
    super(context);
    logger.info("Inside CameraPreview(Context context, Camera camera)");
    this.camera = camera;
    isCameraPreviewStarted = false;
    // Install a SurfaceHolder.Callback so we get notified when the
    // underlying surface is created and destroyed.
    surfaceHolder = getHolder();
    surfaceHolder.addCallback(this);
    // deprecated setting, but required on Android versions prior to 3.0
    surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}

public void surfaceCreated(SurfaceHolder holder) {
    try {
        if (camera != null) {
            logger.info("Camera Surface has been created, now tell the camera where to draw the preview.");
            camera.setPreviewDisplay(holder);
            camera.startPreview();
            isCameraPreviewStarted = true;
        }
    } catch (IOException e) {
        logger.error("Error occured in surfaceCreated.", e);
    }
}

public void surfaceDestroyed(SurfaceHolder holder) {
    logger.info("Camera SurfaceView Destroyed.");
    isCameraPreviewStarted = false;
}

public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
    if (surfaceHolder.getSurface() == null) {
        if (logger.isDebugEnabled()) {
            logger.debug("onsurfaceChanged : preview surface does not exist");
        }
        return;
    }
    try {
        if (logger.isDebugEnabled()) {
            logger.debug("onsurfaceChanged :stop preview before making resize/rotate/reformatting changes");
        }
        isCameraPreviewStarted = false;
        camera.stopPreview();
    } catch (Exception e) {
        logger.error("onsurfaceChanged :Ignored surfaceChanged because tried to stop a non-existent preview", e);
    }

    if (camera != null) {
        cameraParameters = camera.getParameters();
        cameraSizeList = cameraParameters.getSupportedPreviewSizes();
        cameraParameters.setPreviewSize(getMaxSupportedVideoSize().width, getMaxSupportedVideoSize().height);
        surfaceHolder.setFixedSize(getMaxSupportedVideoSize().width, getMaxSupportedVideoSize().height);
        camera.setParameters(cameraParameters);

        if (logger.isDebugEnabled()) {
            logger.debug("onsurfaceChanged : made resize/rotate/reformatting changes:preview size:"
                    + String.valueOf(getMaxSupportedVideoSize().width) + ":"
                    + String.valueOf(getMaxSupportedVideoSize().height));
        }
    }

    try {
        if (logger.isDebugEnabled()) {
            logger.debug("onsurfaceChanged :start preview with new settings");
        }
        if (camera != null) {
            camera.setPreviewDisplay(surfaceHolder);
            camera.startPreview();
            logger.info("onsurfaceChanged :start preview with new settings");
            isCameraPreviewStarted = true;
        }
    } catch (Exception e) {
        logger.error("onsurfaceChanged :Error while resetting camera preview on surfaceChanged.", e);
    }
}

public Size getMaxSupportedVideoSize() {
    int maximum = cameraSizeList.get(0).width;
    int position = 0;
    for (int i = 0; i < cameraSizeList.size() - 1; i++) {
        if (cameraSizeList.get(i).width > maximum) {
            maximum = cameraSizeList.get(i).width; // new maximum
            position = i - 1;
        }
    }
    if (position == 0) {
        int secondMax = cameraSizeList.get(1).width;
        position = 1;
        for (int j = 1; j < cameraSizeList.size() - 1; j++) {
            if (cameraSizeList.get(j).width > secondMax) {
                secondMax = cameraSizeList.get(j).width; // new maximum
                position = j;
            }

        }
    }
    return cameraSizeList.get(position);
}

}

redpajama_set_name: RedPajamaStackExchange


Matthew 28.19-20 "Go therefore and make disciples of all the nations, baptizing them in the name of the Father and of the Son and of the Holy Spirit, teaching them to observe all things that I have commanded you; and lo, I am with you always, even to the end of the age." (NASB) Baptism.
My best friend, Jacquie, before she goes below the baptismal waters last Sunday. Taken by JUDI2007.


text:
Floor Install NewsResidential FlooringCommercial Flooring
NTCA Matching Grant Program Generates Three Corporate Gifts to CTEF
The Ceramic Tile Education Foundation (CTEF) announced that the $10,000 matching grant from the National Tile Contractors Association (NTCA) to financially support CTEF generated a record response. More specifically, CTEF received tremendous support from three generous company sponsors totaling $25,000 in just one day. When combined with individual gifts and the NTCA grant, the total raised amounts to over $40,000.
"We never imagined being able to triple the original goal that NTCA's $10,000 matching grant envisioned," said Scott Carothers, CTEF director of certification and training. "Every single donation represents an affirmation that the CTEF mission educating and certifying tile installation professionals benefits the entire tile industry and must continue. We are extremely grateful."
Len Gould, president and chief executive officer of QEP, The Americas, started the day off with a phone call to Scott Carothers saying that he wanted to donate the balance of the matching challenge in the amount of $7,500.
"There is a severe talent shortage of tile and stone installation professionals and that's why QEP is proud to stand with CTEF to educate, train and supply future installers," Gould said. "We have great respect for the profession and want to do everything possible to encourage more women and men to get into this trade. Personally, I am very proud of our long relationship with CTEF and NTCA, and we sincerely appreciate the opportunity to give back to our end users."
Less than an hour later and with no knowledge of the donation from Len Gould and QEP, Jim Whitfield of Mapei called Carothers, saying that his company wanted to complete the matching challenge in the amount of $7,500. He subsequently made a second call to announce that they wanted to increase the amount to $10,000.
"From the founding of MAPEI in Italy in 1937 until today, education and innovation have always been two of our cornerstones," Mapei President and CEO Luigi Di Geso said. "We are proud of our leading role in the industry and of our continued partnership with CTEF and we look forward to seeing CTEF's future programs and to the continued growth of the industry."
Within the same hour and not aware of the other donations, Will White of Custom Building Products, donated on the CTEF website through PayPal to complete the matching grant in the amount of $7,500. Will White said, "Custom Building Products strongly supports the efforts of CTEF which raises the level of installer competence in the tile industry. Through education, the availability of quality-oriented tile installation will increase, which will grow the use of ceramic tile."
"We were stunned that within sixty minutes, three tile industry leaders recognized the need of CTEF and rose to the challenge," added Carothers. "These examples of extreme generosity demonstrate that people within the tile industry genuinely care about the future of their industry and are willing to support the needs within."
Although the matching grant campaign is closed, anyone wishing to donate to CTEF can do so by visiting https://www.ceramictilefoundation.org/donate-now.
KEYWORDS: ceramic tile charities and fundraisers education and training flooring installers porcelain tile
NTCA Launches Matching Grant Program for CTEF
NTCA Extends CTEF Matching Grant Program
NTCA, CTEF and TCNA announce goals for Certified Tile Installer Program


This template is exactly what you're looking for. They have all been designed keeping easy navigation for your clients in mind. Creating appointments and sharing recent Firm News is simple with our ENO site Widgets. Find the one that works best for you today.
Choose from a selection of stylish and professionally design, business ready industry focus templates. All our templates are easily customizable quickly change typeface, colour , text and image to reflect the brand of your company and its unique product and services.
Standard on all ENO templates is a powerful analytics feature designed to maximize your online presence. It provides you with vital data about how your clients use your website so that you can adjust to your clients and increase traffic and business.
Feel confident knowing that all ENO's site are hosted in a secure world-class facility and powered by the award - winning 5x9 Data Centers and are protected from viruses, hackers and identity thieves and there's nothing to patch, install or upgrade.
Using customer feedback forms, ENO's powerful CRM (Customer Relationship Manager) creates a database of all your clients so that you can market to them directly and easily. The system also tracks those who have inquired about your product or service and includes them in your database-meaning your online marketing strategy reaches even more people.
Is your product or service getting rave reviews? Why not showcase the very best on your website? Testimonials are a powerful marketing tool: The good ones may help convince potential customers to buy your product or service. And the others? They may be able to help you improve your business-and attract even more glowing reviews.
Links to social media sites like Facebook and Twitter show customers that your business is up-to-date and connected-and lets them discover even more about your business in this less formal, online world. ENO makes social media links a breeze: Simply add the URL, click, and you've established a link to whatever social media sites your business uses.
A shortened version of "web" and "log", blogs are short, journalistic articles. Use them to tell your clients about changing trends in the marketplace, highlight news stories that reflect favourably on your product or service, and to provide useful, industry-based information. Blogs are also a great way to position your company as an authority of your industry.
agreeing to the ENO Privacy & Terms.
Free 125 HTML5 fully responsive templates. Tested on all devices and browsers. Each template is a multipurpose template.
Free,HTML5,HTML5 Templates,Free Responsive Templates,Responsive Templates,Free Responsive Websites,Responsive Websites,Free Responsive Templates,HTML5,Free HTML5 Templates,CSS3,Responsive Designs,Mobile Websites.


Roche has announced it has received FDA approval for Tecentriq (atezolizumab), in combination with carboplatin and etoposide, for the initial treatment of adults with extensive-stage small cell lung cancer on the back of results from the Phase III IMpower133 study. The study showed that the combination of drugs helped patients to achieve a medial overall survival of 12.3 months versus 10.3 months for those patients on just chemotherapy in the intention-to-treat population. Progression-free survival with the combination was 5.2 months versus 4.3 months with chemotherapy alone. Safety for the Tecentriq and chemotherapy combination was consistent with the known safety profile of Tecentriq.


Liven up your home and snuggle into these unique and eco friendly cushions.
Based in Sydney, Cloth Fabric screen print textiles by hand. Hemp, organic cotton, jute and linen, are treated with water-based, non-toxic inks and dyes.
Australia's first climate neutral business, Bird Textiles uses solar power, rainwater tanks, water-based dyes, certified organic cotton and operate under Fairtrade.
This cushion cover is an upcycled burlap sack, independantly handmade in Australia from landfill-rescued coffee bean bags and black velvet back.
These cushions are handmade with the upcycling of vintage Suzani fabric of Uzbekistan. Only all natural vegetable dyes are used in the production.
These cushions are made in Australia using hand-dyed and hand-woven Ikat fabric from Uzbekistan. The cushion inserts are from recycled PET bottles.
Tractorgirl by Julie Gibbons uses mostly upcycled fabrics to create her funky range of designer cushions. Australian owned and made.
This cushion handmade in the US was upcycled from a 50s curtain panel and the backing is grey twill from an old men's uniform & work clothing factory.
An independent textile brand, based in Melbourne. Screen-printed by hand and made from hemp – one of the most environmentally friendly fabrics.
Made from Australian wool and hand embroidered by women of remote desert communities in India, these covers provide income and independence for the artisans.


The ETL job runs a backend process on the Warehouse and pre-processes the data, which the models can use. The ETL job runs automatically every day at the prescribed time on the packet data. In this version, the module handles the packets data. The output of the ETL job is used as the input to the Suspicious Domains, Suspicious DNS Activity and Host Profile models. You must import the latest jobs for all the models from Live.
When the ETL job runs for the first time, the job processes data from the past 14 days (in UTC time zone) and subsequently processes data from the previous day (in UTC time zone). If you want to run the ETL jobs for any other date range, you can use the 'Test job' option.
Note: You cannot use ETL jobs to generate any viewable reports. If the ETL job fails for the first time, you can use the 'Test Job' to re-process the data for that time range.
The Suspicious Domains model identifies malicious or suspicious domains based on its communication behavior. It uses a data-driven, automatic approach that is reactive and designed to identify the risky activity that is likely to be missed by other, signature-based solutions. This model generates profiles that describe the behaviors of the domains and applies a probabilistic-based risk assessment method on these profiles to reveal the most suspicious domains. Using these scores, you can find the domains that are most likely to be used for malicious activity within your network.
Unified risk score of the domain relative to all domains and based on multi-dimensional analysis of features about the connection.
Based on this information you can further investigate, block and recommend changes to the security policies to prevent future occurrences of such connections. You can also generate your own local domain blacklists and use it in incident investigation or to define a new security policy that prevents your assets from connecting to similar malicious domains in the future.
The Suspicious DNS Activity model can identify malicious domains based on a particular DNS communication pattern, common to botnets. This module uses an automatic method to identify the domains exhibiting a hosting pattern, in which the IP address of the malicious domains is constantly changing. This pattern is found in botnets, load-balanced hosts and content distribution networks (CDNs), and this model can differentiate between them and only detect the malicious domains. Once the domain is identified, you can isolate the host making the requests and block the access to the network.
List of domains showing suspicious fast-flux DNS with an associated risk score.
Graph of the associated CDN communication with a score indicating whether the domain is showing the fast-flux pattern or not.
The Host Profile model collects and summarizes all HTTP, HTTPS, and DNS activity for each internal host in the network data. The module allows a fast investigation into the different types of usage patterns by the host and enables the analyst with answers to the questions that might arise during an investigation that require multiple queries or manual comparisons.
You can view a report with color coded heat maps to identify the risk of beacon traffic by the host. You can also view graphs that provide details on the traffic.
Use a blacklist to alert and whitelist to ignore IPs or Domains that are benign.
Create actionable security incidents from incoming alerts.
Integrate incidents with a third-party help desk system to track the remediation process.
Integrate with RSA Archer eGRC for incident management and remediation.
Use the Investigation module to identify the root causes.