# BCC Services

## Introduction

This document describes the configuration of parameters, options and default values of BCC Services

## File Location

In a standard installation, the configuration file (`bcc-services.properties`) will be located in `C:\Griaule\BCC\conf`.

## File Properties

The configuration file must meet some requirements to be interpreted correctly. These requirements are:

1. The file name and location must be exactly as mentioned in this manual;

   > Invalid configuration parameters will be ignored and a default value will be used.
2. There must be exactly one configuration parameter per line;
3. Each configuration parameter must be in the format `{parameter}={value}`, without line breaks;

## Configuration Parameters <a href="#configuration-parameters" id="configuration-parameters"></a>

This section describes the configuration parameters of `bcc-services.properties` that can be listed in the configuration file and how they affect the system operation.

### useFingerprintQualityLib <a href="#usefingerprintqualitylib" id="usefingerprintqualitylib"></a>

This parameter defines whether the fingerprint quality library should be used in rolled captures.

**Possible values:**

> * `true`
> * `false`

### useFingerprintSDKAsService <a href="#usefingerprintsdkasservice" id="usefingerprintsdkasservice"></a>

This parameter defines whether the fingerprint is a separate service.

**Possible values:**

> * `true`
> * `false`

{% hint style="warning" %}
This parameter applies only to the 32-bit version.
{% endhint %}

### resetSDKOnCapture <a href="#reinitializesdkoncapture" id="reinitializesdkoncapture"></a>

This parameter defines whether the application will restart the fingerprint SDK on each capture.

**Possible values:**

> * `true`
> * `false`

### useChecksum <a href="#usechecksum" id="usechecksum"></a>

This parameter defines whether checksum should be used to import and export files.

**Possible values:**

> * `true`
> * `false`

### useCryptography <a href="#usecryptography" id="usecryptography"></a>

This parameter defines whether cryptography should be used to import and export files.

**Possible values:**

> * `true`
> * `false`

### distance.crop.face

This parameter defines the width x height resolution of the cropped face.

**Possible values:**

> * `CROP_480X640`
> * `CROP_1200X1600`

### templateFormat

This parameter defines the format in which templates should be exported.

**Possible values:**

> * `ANSI`
> * `ISO`
> * `CLASSIC`
> * `DEFAULT`
> * `FORENSIC`
> * `GR001`
> * `GR002`
> * `GR003`
> * `GR006`
> * `GR007`

### useLabels <a href="#uselabels" id="uselabels"></a>

This parameter defines whether labels will be sent to the GBDS.

**Possible values:**

> * `true`
> * `false`

### enroll.labels

This parameter defines which labels will be sent to the GBDS when `useLabels`set to true. It is possible to set up to six labels, which must be separated by commas.

**Example:**

> `enroll.labels=label1,label2,label3,label4,label5,label6`

### report.folder.path

This parameter defines the folder path to automatically save reports.

### ebts.exporting.enabled <a href="#ebts.exporting.enabled" id="ebts.exporting.enabled"></a>

This parameter defines whether EBTS exporting will be enabled for BCC.

**Possible values:**

> * `true`
> * `false`

### ebts.exporting.path

This parameter defines the path where exported EBTS files will be located.

### ebts.ori <a href="#ebts.ori" id="ebts.ori"></a>

This parameter defines the issuer code of the EBTS file.

### gbds.keyStore.path <a href="#gbds.keystore.path" id="gbds.keystore.path"></a>

Path to the keystore file. This parameter is required if the application is communicating with the GBDS via SSL.

### gbds.keyStore.password <a href="#gbds.keystore.password" id="gbds.keystore.password"></a>

Encrypted password file of the keystore. This parameter is required if the application is communicating with the GBDS via SSL.

### gbds.trustStore.path <a href="#gbds.truststore.path" id="gbds.truststore.path"></a>

Path to the truststore file. This parameter is required if the application is communicating with the GBDS via SSL.

### gbds.trustStore.password <a href="#gbds.truststore.password" id="gbds.truststore.password"></a>

Encrypted password file of the truststore. This parameter is required if the application is communicating with the GBDS via SSL.

### config.generalTabOnly <a href="#config.generaltabonly" id="config.generaltabonly"></a>

This parameter, when set to true, will list only the `General`tab in the settings tabs in BCC, hiding the others.

**Possible values:**

> * `true`
> * `false`

### responsible.fytech.quality

This parameter defines the minimum quality threshold for the responsible adult's fingerprint captures when using the Fytech sensor.

### baby.palm.fytech.quality <a href="#baby.palm.fytech.quality" id="baby.palm.fytech.quality"></a>

This parameter defines the minimum quality threshold for the baby's palm captures when using the Fytech sensor.

**Default value:**

> `65`

### capture.baby.fingerprints

This parameter defines whether the baby's fingerprint should be captured.

**Possible values:**

> * `true`
> * `false`

### baby.finger.fytech.quality

This parameter defines the minimum quality threshold for the baby's fingerprint captures when using the Fytech sensor.

### fytech.timeout

This parameter defines the timeout when using the Fytech sensor.

**Default value:**

> `20`

### save.baby.palms.as.png

This parameter defines whether the baby's palm prints should be saved in .png format.

**Possible values:**

> * `true`
> * `false`

### bodyImageShapes

This parameter defines how the selection of body parts for auxiliary images will be. There are two possible values: simplified and full. Simplified will select an entire area (for example, arm), while full will give the user the possibility to select a more specific anatomically named area.

**Possible values:**

> * `true`
> * `false`

### minimun.biometrics

This parameter defines the minimum number of biometric data required to perform an enrollment.

### minimum.real.captured.fingers

This parameter defines the minimum number of fingers without anomaly required to perform a registration.

### maximum.anomalies

This parameter defines the maximum number of fingers with anomaly accepted in an enrollment operation.

### application.modules

This parameter defines which application modules are installed. This parameter can contain more than one value and values are delimited by spaces.

**Possible values:**

> * `FACE`
> * `SIGNATURE`
> * `PALM`
> * `AUXILIARY_IMAGES`
> * `IRISES`

**Example:**

> `application.modules=FACE SIGNATURE PALM`

### match.sequence

This capture defines whether the capture of the main fingerprints should be compared with the sequence control capture.

**Possible values:**

> * `true`
> * `false`

### face.camera.type

This parameter defines which type of camera the application will use to capture the face.

**Possible values:**

> * `WEBCAM`
> * `CANON_EOS`
> * `CANON_POWERSHOT`

### face.webcam.device

This parameter defines the index of the webcam that will be used in face capture. If there is only one webcam installed, this number should be `0`.

### face.flash.mode <a href="#face.flash.mode" id="face.flash.mode"></a>

This parameter defines whether the flash function will be enabled or not for face capture.

**Possible values:**

> * `ON`
> * `OFF`

This parameter only works with Canon Powershot cameras.

### face.camera.rotation

This parameter defines the rotation of the image obtained by the facial capture device.

**Possible values:**

> Any integer from `0`to `359`.

### body.camera.type

This parameter defines which type of camera the application will use to capture the body.

**Possible values:**

> * `WEBCAM`
> * `CANON_EOS`
> * `CANON_POWERSHOT`

### body.webcam.device

This parameter defines the index of the webcam that will be used in body capture. If there is only one webcam installed, this number should be `0`.

### body.flash.mode

This parameter defines whether the flash function will be enabled or not for body capture.

**Possible values:**

> * `ON`
> * `OFF`

{% hint style="warning" %}
This parameter only works with Canon Powershot cameras.
{% endhint %}

### body.camera.rotation

This parameter defines the rotation of the image obtained by the body capture device.

**Possible values:**

> Any integer from `0`to `359`.

### capture.type

This parameter defines the capture type of the main fingerprint captures.

**Possible values:**

> * `FLAT`
> * `ROLLED`

### signature.type

This parameter defines which Topaz signature block will be used to capture signatures.

**Possible values:**

> * `SignatureGem1X5`
> * `SignatureGem4X5`
> * `SignatureGemLCD`
> * `SignatureGemLCD4X3New`
> * `SignatureGemLCD4X5`
> * `ClipGem`
> * `ClipGemLGL`

### signature.device

This parameter defines which signature device will be used.

**Possible values:**

> * `WACOM`
> * `TOPAZ`
> * `MSP`
> * `SIGNOTEC`

### signature.imageType <a href="#signature.imagetype" id="signature.imagetype"></a>

This parameter defines in which image format the signature will be saved.

**Possible values:**

> * `JPEG`
> * `TIFF`
> * `PNG`

### iris.device

This parameter defines which iris device will be used.

**Possible values:**

> * `CROSSMATCH`
> * `IRITECH`
> * `HUMMINGBIRD`

### advance.mode

This parameter defines the advance after a capture. If set to automatic, it will advance to the next capture after each capture. If set to semi-automatic, it will display a screen with the capture for the operator, requiring manual advancement of the capture.

**Possible values:**

> * `AUTOMATIC`
> * `SEMI_AUTOMATIC`

### sequenceControl.type <a href="#sequencecontrol.type" id="sequencecontrol.type"></a>

This parameter defines which type of sequence control will be used. It is possible to configure for 4-4-2 capture, 2-2-1 and no sequence control.

**Possible values:**

> * `CTRL_221`
> * `CTRL_442`
> * `NONE`

### minQuality

Minimum percentage quality of the finger template to be accepted.

**Possible values:**

> Any integer in the range from `0`to `100`.

### triesToAccept

This parameter defines the number of attempts to enable acceptance of low quality finger templates.

### whiteBalance.mode <a href="#whitebalance.mode" id="whitebalance.mode"></a>

This parameter defines the white balance mode option when using a professional camera.

**Possible values:**

> * `AUTO`
> * `CUSTOM`

### whiteBalance.blueAmber <a href="#whitebalance.blueamber" id="whitebalance.blueamber"></a>

This parameter defines the blue-amber shift of the white balance when custom mode is activated.

**Possible values:**

> Any integer in the range from `-9`to `9`.

### whiteBalance.greenMagenta <a href="#whitebalance.greenmagenta" id="whitebalance.greenmagenta"></a>

This parameter defines the green-magenta shift of the white balance when custom mode is activated.

**Possible values:**

> Any integer in the range from `-9`to `9`.

### processLiveView <a href="#processliveview" id="processliveview"></a>

This parameter defines whether brightness, contrast and zoom should be processed in Live View.

{% hint style="warning" %}
This parameter only works with Canon EOS cameras.
{% endhint %}

**Possible values:**

> * `true`
> * `false`

### nfiq.minimum

This parameter defines the minimum nfiq quality value to accept a capture.

The NFIQ quality is an integer in the range of 1 to 5 and a low number represents better quality.

### nfiq.action <a href="#nfiq.action" id="nfiq.action"></a>

This parameter defines the action that BCC will take if the capture is above the minimum NFIQ quality. KEEP will keep the capture, REMOVE will remove the capture.

**Possible values:**

> * `KEEP`
> * `REMOVE`

### nfiq.anomaly <a href="#nfiq.anomaly" id="nfiq.anomaly"></a>

This parameter defines how BCC will classify a capture that was kept when the capture's NFIQ was above the minimum.

**Possible values:**

> * `NONE`
> * `LOW_QUALITY`
> * `AMPUTED`
> * `SCAR`
> * `MARK`
> * `IGNORED`
> * `DAMAGED`

### theme <a href="#theme" id="theme"></a>

This parameter defines the BCC theme.

**Possible values:**

> * `DARK`
> * `LIGHT`

### theme.cor <a href="#theme.color" id="theme.color"></a>

This parameter defines the BCC theme color.

**Possible values:**

> * `BLUE_GRAY`
> * `BLUE`
> * `BROWN`
> * `CYAN`
> * `DEEP_PURPLE`
> * `GREY`
> * `INDIGO`
> * `LIGHT_GREEN`
> * `ORANGE`
> * `PINK`
> * `RED`
> * `TEAL`

### cropImages

This parameter defines whether BCC should crop fingerprint captures and image exports. If false, the image will remain as obtained by the capture/profile.

**Possible values:**

> * `true`
> * `false`

### jpegQuality

This parameter defines the quality of all .jpeg images generated or manipulated.

**Possible values:**

> Any integer in the range from `0`to `100`.

### signatureBitDepth

This parameter defines the bit depth of the signature image.

**Possible values:**

> * `GREYSCALE`(8 bits)
> * `COLOR`(24 bits)

### anomalySetType

This parameter defines the type of anomaly selection that can be classified by the user in BCC. There are two possible values: simplified and technical.

Simplified will have more generic values such as "AMPUTATED, SCAR, DAMAGED MARK".

Technical will have more specific values for the anomaly, allowing the user to select the cause of the anomaly.

**Possible values:**

> * `SIMPLIFIED`
> * `TECHNICAL`

### fingerVerifyThresold.\<finger> <a href="#fingerverifythresold.less-than-finger-greater-than" id="fingerverifythresold.less-than-finger-greater-than"></a>

This parameter allows the user to set a verification threshold for individual fingers.

Each finger can have its threshold and for each finger, this parameter must be repeated with the finger name.

This parameter is valid for the FINGER and will be applied to the finger of BOTH HANDS.

**Example:**

`fingerVerifyThresold.little=15`

`fingerVerifyThresold.ring=15`

`fingerVerifyThresold.middle=15`

`fingerVerifyThresold.index=15`

`fingerVerifyThresold.thumb=15`

### fingerVerifyThresold.default <a href="#fingerverifythresold.default" id="fingerverifythresold.default"></a>

This parameter allows the user to set the global verification thresholds for fingerprints.

If no individual threshold is used, the default threshold will be used.

### faceVerifyThresold.default <a href="#faceverifythresold.default" id="faceverifythresold.default"></a>

This parameter defines the facial verification threshold.

### sequence221 <a href="#sequence221" id="sequence221"></a>

This parameter defines the capture order for the 2-2-1 sequence control. Each finger is delimited by space and the capture is delimited by comma.

**Possible values:**

Finger names or finger indexes can be used as values, as shown below:

| Finger name   | Index |
| ------------- | ----- |
| left\_little  | 0     |
| left\_ring    | 1     |
| left\_middle  | 2     |
| left\_index   | 3     |
| left\_thumb   | 4     |
| right\_thumb  | 5     |
| right\_index  | 6     |
| right\_middle | 7     |
| right\_ring   | 8     |
| right\_little | 9     |

**Example**

To set the following capture sequence:

> * Left little and left ring minimum
> * Left middle and left index
> * Left thumb
> * Right ring and right little
> * Right index and right middle
> * Right thumb

The parameter must be one of the two options:

`sequence221=LEFT_LITTLE,LEFT_RING LEFT_MIDDLE,LEFT_INDEX LEFT_THUMB RIGHT_RING,RIGHT_LITTLE RIGHT_INDEX,RIGHT_MIDDLE RIGHT_THUMB`

`sequence221=0,1 2,3 4 8,9 6,7 5`

### sequence442 <a href="#sequence442" id="sequence442"></a>

This parameter defines the capture order for the 4-4-2 sequence control. Each finger is delimited by space and the capture is delimited by comma.

**Possible values:**

Finger names or finger indexes can be used as values, as shown below:

| Finger name   | Index |
| ------------- | ----- |
| left\_little  | 0     |
| left\_ring    | 1     |
| left\_middle  | 2     |
| left\_index   | 3     |
| left\_thumb   | 4     |
| right\_thumb  | 5     |
| right\_index  | 6     |
| right\_middle | 7     |
| right\_ring   | 8     |
| right\_little | 9     |

**Example**

To set the following capture sequence:

> * Left little and left ring, left middle and left index
> * Right ring and right little, right index and right middle
> * Left thumb and right thumb

The parameter must be one of the two options:

`sequence442=LEFT_LITTLE,LEFT_RING,LEFT_MIDDLE,LEFT_INDEX RIGHT_INDEX,RIGHT_MIDDLE,RIGHT_RING,RIGHT_LITTLE LEFT_THUMB,RIGHT_THUMB`

`sequence442=0,1,2,3 6,7,8,9 4,5`

### sequenceMain

This parameter defines the capture sequence of the main fingerprints. Each fingerprint capture is delimited by space.

**Possible values:**

Finger names or finger indexes can be used as values, as shown below:

| Finger name   | Index |
| ------------- | ----- |
| left\_little  | 0     |
| left\_ring    | 1     |
| left\_middle  | 2     |
| left\_index   | 3     |
| left\_thumb   | 4     |
| right\_thumb  | 5     |
| right\_index  | 6     |
| right\_middle | 7     |
| right\_ring   | 8     |
| right\_little | 9     |

**Example**

To set a capture sequence, enter the indicator names or finger names as shown below:

`sequenceMain=LEFT_LITTLE LEFT_RING LEFT_MIDDLE LEFT_INDEX LEFT_THUMB RIGHT_THUMB RIGHT_INDEX RIGHT_MIDDLE RIGHT_RING RIGHT_LITTLE`

`sequenceMain=0 1 2 3 4 5 6 7 8 9`

### sequencePalm

This parameter defines the capture sequence for palm capture. Each palm capture is delimited by spaces.

**Possible values:**

| Palm Area           | Index |
| ------------------- | ----- |
| left\_interdigital  | 31    |
| left\_thenar        | 32    |
| left\_hypothenar    | 33    |
| right\_interdigital | 34    |
| right\_thenar       | 35    |
| right\_hypothenar   | 36    |
| left\_full          | 40    |
| left\_writer        | 41    |
| right\_full         | 45    |
| right\_writer       | 46    |

**Example**

To set the following capture sequence:

> * Left inter-digital
> * Left thenar
> * Right inter-digital
> * Right thenar

The parameter must be one of the two options:

`sequencePalm=LEFT_INTERDIGITAL LEFT_THENAR RIGHT_INTERDIGITAL RIGHT_THENAR`

`sequencePalm=31 32 34 35`

### babySequencePalm <a href="#babysequencepalm" id="babysequencepalm"></a>

This parameter defines the capture sequence for the baby's palm capture. Each palm capture is delimited by space.

BCC allows performing two captures of the same palm. The best will be sent as the main capture and the other as an auxiliary image.

| Palmar Area    | Index |
| -------------- | ----- |
| left\_palm     | 200   |
| left\_palm\_2  | 201   |
| right\_palm    | 210   |
| right\_palm\_2 | 211   |

**Possible values:**

> * `LEFT_PALM`
> * `LEFT_PALM2`
> * `RIGHT_PALM`
> * `RIGHT_PALM2`

### minutiaOrientation

This parameter defines how BCC will show the minutiae angle indicator.

**Possible values:**

> * `DEFAULT`
> * `ISO`
