class NoveltyDetection extends DetectionJob

Traits

Queueable

Properties

protected bool $deleteWhenMissingModels

Ignore this job if the MAIA job does not exist any more.

from  DetectionJob
protected string $tmpDir

Temporary directory for files of this job.

from  DetectionJob
int $timeout

Disable the timeout of the Laravel queue worker because this job may run long.

Methods

__construct(MaiaJob $job)

Create a new instance

void
failed(Exception $exception)

The job failed to process.

array
getGenericImages()

Create GenericImage instances for the images of this job.

cleanup()

Clean up temporary data produced by this job.

dispatchFailure(Exception $e)

Dispatch the job to notify the BIIGLE instance of a failure.

createTmpDir()

Create the temporary directory for this request.

ensureDirectory(string $path)

Creates the specified directory if it does not exist.

string
getTmpDirPath()

Get the path to the temporary directory.

string
python(string $command, string $log = 'log.txt')

Execute a Python command and return the path to a file containing the output.

array
parseAnnotations(array $images)

Parse the output JSON files to get the array of annotations for each image.

array
parseAnnotationsFile(GenericImage $image)

Parse the output JSON file of a single image.

createMaiaAnnotations(array $annotations)

Create MAIA annotations from the training proposals.

array
createMaiaAnnotation(array $annotation)

Create an insert array for a MAIA annotation.

insertAnnotationChunk(array $chunk)

Insert one chunk of the MAIA annotations that should be created into the database.

updateJobState()

Update the state of the MAIA job after processing the response.

handle()

Execute the job

string
createInputJson(array $images, array $paths)

Create the JSON file that is the input to the novelty detection script.

array
maybeLimitAnnotations(array $annotations, int $limit)

Apply the limit for the maximum number of annotations.

Details

in DetectionJob at line 37
__construct(MaiaJob $job)

Create a new instance

Parameters

MaiaJob $job

in DetectionJob at line 49
void failed(Exception $exception)

The job failed to process.

Parameters

Exception $exception

Return Value

void

in DetectionJob at line 61
protected array getGenericImages()

Create GenericImage instances for the images of this job.

Return Value

array

in DetectionJob at line 77
protected cleanup()

Clean up temporary data produced by this job.

at line 92
protected dispatchFailure(Exception $e)

Dispatch the job to notify the BIIGLE instance of a failure.

Parameters

Exception $e

in DetectionJob at line 92
protected createTmpDir()

Create the temporary directory for this request.

in DetectionJob at line 107
protected ensureDirectory(string $path)

Creates the specified directory if it does not exist.

Parameters

string $path

at line 100
protected string getTmpDirPath()

Get the path to the temporary directory.

Return Value

string

in DetectionJob at line 133
protected string python(string $command, string $log = 'log.txt')

Execute a Python command and return the path to a file containing the output.

Parameters

string $command
string $log

Name of the log file to write any output to.

Return Value

string

Exceptions

Exception

in DetectionJob at line 157
protected array parseAnnotations(array $images)

Parse the output JSON files to get the array of annotations for each image.

Parameters

array $images

GenericImage instances.

Return Value

array

in DetectionJob at line 189
protected array parseAnnotationsFile(GenericImage $image)

Parse the output JSON file of a single image.

Parameters

GenericImage $image

Return Value

array

in DetectionJob at line 214
protected createMaiaAnnotations(array $annotations)

Create MAIA annotations from the training proposals.

Parameters

array $annotations

in DetectionJob at line 236
protected array createMaiaAnnotation(array $annotation)

Create an insert array for a MAIA annotation.

Parameters

array $annotation

Return Value

array

at line 131
protected insertAnnotationChunk(array $chunk)

Insert one chunk of the MAIA annotations that should be created into the database.

Parameters

array $chunk

at line 139
protected updateJobState()

Update the state of the MAIA job after processing the response.

at line 28
handle()

Execute the job

at line 60
protected string createInputJson(array $images, array $paths)

Create the JSON file that is the input to the novelty detection script.

Parameters

array $images

GenericImage instances.

array $paths

Paths to the cached image files.

Return Value

string

Input JSON file path.

at line 113
protected array maybeLimitAnnotations(array $annotations, int $limit)

Apply the limit for the maximum number of annotations.

Parameters

array $annotations
int $limit

Return Value

array