diff src/app/services/feature-extraction/feature-extraction.service.ts @ 64:270f59ef3b83

Incorporate recent piper changes and use output descriptor for some basic feature discrimination to render appropriate layers.
author Lucas Thompson <dev@lucas.im>
date Mon, 12 Dec 2016 00:41:37 +0000
parents 2171dd56756c
children 2c3fe51ad1f0
line wrap: on
line diff
--- a/src/app/services/feature-extraction/feature-extraction.service.ts	Fri Dec 09 14:06:44 2016 +0000
+++ b/src/app/services/feature-extraction/feature-extraction.service.ts	Mon Dec 12 00:41:37 2016 +0000
@@ -2,8 +2,9 @@
 import {
   ListResponse, ListRequest
 } from "piper";
-import {SimpleRequest, FeatureCollection} from "piper/HigherLevelUtilities";
-import {FeatureList} from "piper/Feature";
+import {
+  SimpleRequest, SimpleResponse
+} from "piper/HigherLevelUtilities";
 import {Subject} from "rxjs/Subject";
 import {Observable} from "rxjs";
 
@@ -17,18 +18,16 @@
   result: ResponseType;
 }
 
-export type Extracted = FeatureList | FeatureCollection;
-
 @Injectable()
 export class FeatureExtractionService {
 
   private worker: Worker;
-  private featuresExtracted: Subject<Extracted>;
-  featuresExtracted$: Observable<Extracted>;
+  private featuresExtracted: Subject<SimpleResponse>;
+  featuresExtracted$: Observable<SimpleResponse>;
 
   constructor() {
     this.worker = new Worker('bootstrap-feature-extraction-worker.js');
-    this.featuresExtracted = new Subject<Extracted>();
+    this.featuresExtracted = new Subject<SimpleResponse>();
     this.featuresExtracted$ = this.featuresExtracted.asObservable();
   }
 
@@ -39,8 +38,8 @@
     ).then(msg => msg.result);
   }
 
-  process(request: SimpleRequest): Promise<FeatureList> {
-    return this.request<SimpleRequest, FeatureList>(
+  process(request: SimpleRequest): Promise<SimpleResponse> {
+    return this.request<SimpleRequest, SimpleResponse>(
       {method: 'process', params: request},
       (ev: MessageEvent) => ev.data.method === 'process'
     ).then(msg => {
@@ -49,8 +48,8 @@
     });
   }
 
-  collect(request: SimpleRequest): Promise<FeatureCollection> {
-    return this.request<SimpleRequest, FeatureCollection>(
+  collect(request: SimpleRequest): Promise<SimpleResponse> {
+    return this.request<SimpleRequest, SimpleResponse>(
       {method: 'collect', params: request},
       (ev: MessageEvent) => ev.data.method === 'collect'
     ).then(msg => {