Cytomine 3 is out!

The Cytomine cooperative is proud to announce the release of Cytomine 3.0.0 !

This major new version is characterized by a new algorithm management system, which should greatly facilitate the integration and use of algorithms, including Artificial Intelligence algorithms, directly from the Cytomine graphical interface.

This 3.0.0 version is a huge collaborative work of all our team and our contributors, and mainly the Cytomine team of the University of Liège.

The new procedure for adding and executing algorithms is described in our documentation : Add an external software to Cytomine.

All the features added to the core of Cytomine are available on Cytomine Core Github repository.

All the features added to the web UI are available on Cytomine Web UI Github repository.

To test this new release, and this new algorithm management system, please consider to install your own instance, or update a previous one.

If you just want to test our viewer, including uploading some of your own images, set your own tags, descriptions, properties, or ontology terms, and test the full collection of annotation tools, please contact us and ask for a free demo account.

To learn how to use Cytomine please read our user guide.

Cytomine is Open Source ! If you want to contribute to this project, by adding new languages, or new algorithms, for example, please follow these instructions : How to contribute. You can also contribute to our open access image collection, to support teaching and research on histology and pathology arround the world by sharing your most beautiful or interesting images.

3 Likes

Hi,

Are there any plans for further expanding the documentation on setting up Development Environments?

For example it’s currently quite tricky to understand the best way to enable changes to the Web UI component, and overcome Nginx CORS issues due to the multi-layered Docker complexity. There is some older documentation for previous Liege versions, but it also does not specify changes to get around these problems. I’m working on a localhost install, simply to gauge what can be done.

Hello,

I currently don’t have the time to create this section. :frowning: As Cytomine have multiple components it will not be a quick task to describe the developer installation for each of them. However, it is a wanted goaI that follow the page “How to contribute” and the good first issues I try to record on the GitHub repositories. I will try to improve the github README of each component.

I don’t know if you still have the problem with CORS but here is the answer, it could be useful later :slight_smile:
It is based on this page, I simply put the redundant information into variables.

	set $cors_origin $http_origin;
	set $cors_cred   true;
	set $cors_method 'GET, PUT, POST, DELETE, OPTIONS';
	set $cors_header 'Content-Type, Content-Range, Content-Length, Content-Disposition, Content-Description, Cache-Control, Date, dateFull, authorization, content-type-full, X-Requested-With, Pragma';

	location / {
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header Host $host;
		proxy_pass http://core:8080;

		add_header Access-Control-Allow-Origin      $cors_origin always;
		add_header Access-Control-Allow-Credentials $cors_cred always;
		add_header Access-Control-Allow-Headers     $cors_header always;
		add_header Access-Control-Allow-Methods     $cors_method always;
		add_header Cache-Control 'no-cache';

		if ($request_method = 'OPTIONS') {
			add_header Access-Control-Allow-Origin		$cors_origin always;
			add_header Access-Control-Allow-Credentials 	$cors_cred always;
			add_header Access-Control-Allow-Headers		$cors_header always;
			add_header Access-Control-Allow-Methods 	$cors_method always;
			add_header 'Access-Control-Max-Age' 		1728000;
			add_header 'Content-Type' 			'text/plain charset=UTF-8';
			add_header 'Content-Length' 			0;
			return 204;
		}
	}

For any question, don’t hesitate to send us an email .

Hello Geektortoise,

Thank you for taking the time to reply, and for providing a CORS example.

I appreciate there’s a huge amount of work going on with this exciting project. I’m guessing this CORS code goes inside the Nginx.conf within the Web-UI folder? As opposed to the configs/nginx/nginx.conf or one of the other nginx files within that folder - for the particular use case of running a local non-containerized Frontend/Web-UI development environment?

Many thanks again for your reply, Cytomine seems like a great solution, I’m really impressed with what I have seen so far.

Kind regards.